Как сохранить файл на определенной папке * сервера с помощью PHP через AJAX.Не загружается через браузер - PullRequest
0 голосов
/ 12 февраля 2019

Я использую PHPExcel для создания файла Excel, и мне нужно сохранить его на определенном сервере папке , вызвав мой файл PHP с ajax (чтобы избежать открытия дополнительного окна).

Я нашел этот пост и второй ответ имеют что-то близкое к тому, что мне нужно, но это скачивает файл черезбраузер, и я не хочу этого. Я просто хочу сохранить файл .xls в определенной папке на сервере, не на моем компьютере .

Это то, что яиметь:

PHP :

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('../pdf-totext/'.$_POST["folder"].'/'.$_POST["filename"]); //save the file here

JS :

 $.ajax({
  type:'POST',
  url:'php/libs/PHPExcel-1.8/F29.php',
  data: {folder:folder,filename:filename}
});

Таким образом, можно сохранить сгенерированный PHPExcel.xls файл, вызов моего PHP-файла через AJAX?

РЕДАКТИРОВАТЬ

Я в порядке с серверной и клиентской стороны, это простоЯ хочу вызвать мой файл PHP через ajax, поэтому мой файл PHP сохраняет файлы .xls в папке сервера.

РЕДАКТИРОВАТЬ 2

Это работает, если я перехожу на другойокно, подобное этому (и с GET вместо POST в файле PHP):

window.open('php/libs/PHPExcel-1.8/F29.php?folder='+folder+'&filename='+filename,'_blank');

Но если это не сработает, если я вызову файл PHP через AJAX.

1 Ответ

0 голосов
/ 12 февраля 2019

Это PHP Excel ... PHP не работает на клиенте, он работает на сервере - поэтому он будет сохранять файл на сервер по умолчанию ... AJAX для отправки сообщений из JavaScript (клиентбраузер) до сервера (получен / обработан PHP-кодом) и получен обратно.

Вы пишете код PHPExcel на PHP, так что вы уже на стороне PHP (веб-сервера), поэтому вам не нужен javascript / AJAX - если вы не хотите позволить пользователю нажать кнопку и запросить PHPExcel-сгенерированный файл должен быть загружен с сервера на клиент.

Кстати, PHP не имеет доступа к локальной файловой системе, поэтому вы не можете указать веб-серверу, где сохранить файл на локальном компьютере.,PHP сохранит файл на веб-сервере.

Однако, если ваш веб-сервер является локальным (например, xampp или mamp или что-то подобное), то это другая история.Дайте нам знать, если вы этим занимаетесь. (Вы все равно не будете использовать AJAX для сохранения файла - но PHP будет иметь доступ к локальному диску, потому что веб-сервер включен на локальном диске)

...