Php, файлы становятся больше с полным именем пути?

#php #download

#php #Скачать

Вопрос:

Работа с небольшим скриптом загрузки в соответствии с:

 $file = "$tempDir/download.zip";
if($file) {
    header("Content-Disposition: attachment; filename=" . basename($file));
    header("Content-Type: application/zip");
    readfile($file);
}
  

Когда этот php-скрипт помещается рядом с источником загрузки и использует только «download.zip «, это работает нормально
Но в противном случае я получаю какой-то мусорный файл с тем же именем, который составляет 10 кб вместо ожидаемого 1 кб

Комментарии:

1. Ваш загруженный «мусорный» файл может содержать ошибку PHP, которая была бы полезна для поиска решения. Если вы попытаетесь открыть его с помощью текстового редактора, это может помочь вам выяснить, что не так 🙂

Ответ №1:

В вашем коде $file всегда == true

Было бы лучше заменить

 if($file)
  

с

 if(file_exists($file) amp;amp; is_readable($file))
  

чтобы убедиться, что с файлом все в порядке.