Я создал форму, которая, когда нажата содержащаяся кнопка, должна открыть диалог загрузки, чтобы загрузить определенный файл. Файл размещен на том же сервере.
Я пытался:
header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=" . $file . '"');
Где $ file – это локальный путь + имя файла, например c: \ mypath \ myfile.xls. Однако это не работает. Он предлагает мне файл, но его недействительный файл. Как еще я мог это сделать?
Примечание. Я написал c: \, потому что он все еще на моей локальной машине для тестирования.
Благодаря!
Попробуй это
header("Pragma: public", true); header("Expires: 0"); // set expiration time header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Disposition: attachment; filename=".basename($file)); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($file)); die(file_get_contents($file));
Я думаю, что функция file_get_contents () больше не работает с PHP 5.0.3
Попробуй это :
$ path = "http://www.example.com/files/"; $ filename = "abc.gif"; Заголовок ( "Content-Type: изображение / GIF"); header («Content-Disposition: attachment; filename =». $ filename); header («Cache-control: private»); header ('X-Sendfile:'. $ path); ReadFile ($ путь); Выход;
PHP работает на стороне сервера, вы не можете загружать файлы на клиентской машине.
Загрузите файлы на сервер, а затем укажите путь для загрузки.
Путь должен быть указан из корня сайта … переместите файл ex: путь к скрипту: C: /wamp/www/test.php файл C: /script.js, затем:
if(file_exists('../../user.js')) { echo "OK"; }
Еще плохой идее ..