2015-04-29 4 views
0

Я настроил загрузку файла, но в некоторых случаях файлы не могут быть загружены. Поскольку file_exist не является истинным, php-код умирает и возвращает мне определенное сообщение об ошибке.Ошибка php: file_exists с запятой И пробелом

Почему загрузка отлично работает с запятойИЛИпространства в каталоге, , но не с ОБАзапятой следует с пространства?

Файл с загрузкой ошибкой:

$the_download = "/share/Multimedia/Library1/John, Doe/test/cover.jpg"; 

Файлы, которые скачивают нормально:

$the_download = "/share/Multimedia/Library1/John,Doe/test/cover.jpg"; 
$the_download = "/share/Multimedia/Library1/John Doe/test/cover.jpg"; 

код:

$the_filename = "somefilename.jpg"; 

    if (file_exists($the_download)) { 
     header('Content-Description: File Transfer'); 
     header('Content-Type: application/octet-stream'); 
     header('Content-Disposition: attachment; filename='.basename($the_filename)); 
     header('Content-Transfer-Encoding: binary'); 
     header('Expires: 0'); 
     header('Cache-Control: must-revalidate'); 
     header('Pragma: public'); 
     header('Content-Length: ' . filesize($the_download)); 
     flush(); 
     readfile($the_download); 
     exit; 
    } 
    else die("File not found<br>" . $the_download); 
+1

Какое сообщение об ошибке? – adeneo

+0

Сообщение об ошибке: Файл не найден 35, как в инструкции else die. Сценарий умирает и показывает мне имя файла. Имя файла прекрасно, когда я просматриваю его локально внутри ». – Gaston

ответ

0

вы должны заключить имя файла в заголовке двойных кавычек например:

header('Content-Disposition: attachment; filename="'.basename($the_filename).'"); 
+0

Это не про эту строку (я думаю). Эта строка предназначена только для переименования имени файла, который получает загрузчик, и это нормально. Это файл, который не может быть найден, что является ошибкой, и он умирает. Я добавил эту переменную $ the_filename в код. Возможно, я мог бы оставить всю часть загрузки и просто оставить ее только с проверкой file_exists) – Gaston

Смежные вопросы