загрузка файла с php (работает на apache под localhost) - PullRequest
0 голосов
/ 08 августа 2009

Я пытаюсь создать страницу загрузки файла. Эта страница при запросе должна предложить пользователю загрузить файл. Вот исходный код страницы:

<?php
header('Content-disposition: attachment; filename=zip.zip')

header('Content-type: application/zip');

readfile('zip.zip');

?>

Это работает нормально.

Проблемы начинаются, когда я хочу переместить файл zip.zip из папки, в которой находится этот скрипт. Я пытался использовать относительные и абсолютные URL-адреса, но всегда получаю странные результаты, браузер по-прежнему запрашивает загрузку файла, но почему-то это просто нечетное имя файла, преобразованное из URI, который я указал, что-то вроде ".._.._files_zip.zip вместо ../../files/zip.zip.

Любые предложения, почему это происходит? Спасибо

1 Ответ

1 голос
/ 08 августа 2009

Используйте basename, чтобы получить только имя файла:

$file = '../../files/zip.zip';
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Type: application/zip');
readfile($file);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...