#php
#php
Вопрос:
Я пытаюсь принудительно загрузить динамические файлы с помощью php.
однако загружаемые файлы пусты, и по какой-то причине они отображаются как 0 байт.
Я правильно получаю имя файлов и правильно загружаю принудительную загрузку, но когда я загружаю ZIP-папку, она пуста и отображается как 0 байт.
может кто-нибудь, пожалуйста, дайте мне знать, чего не хватает в моем коде?
вот мой код:
if (isset($_POST['id'])) {
//echo 'correct';
$id = $_POST['id'];
$file = $id.'_myfiles.zip';
header("Content-disposition: attachment; filename=$file");
header("Content-type: application/zip");
readfile("../upload/$file.zip");
}
Заранее спасибо.
Комментарии:
1. $file.zip находится на вашем пути, и вы указываете _myfiles.zip раньше. Это приводит к _myfiles.zip.zip а это, вероятно, не то, чего вы хотели.
2. @SvenSchneider, вы имеете в виду имя папки? если это так, я правильно получаю имя папки. пример:
100_myfiles.zip
. но он пуст. кстати, 100 представляет идентификатор $.3. Я имел в виду то же самое, что и принятый ответ.
4. @SvenSchneider, молодец. извините, я был немного сбит с толку.
Ответ №1:
$file = $id.'_myfiles.zip'; // == "104_myFiles.zip" for example.
Так что меняйте:
readfile("../upload/$file.zip");
Для:
readfile("../upload/$file");
Комментарии:
1. хороший. Я не могу поверить, что мне этого не хватало.