Скачивание проблем с файлом, в котором у filename &.Escaping & in filename for PHP загрузить
Например, файл bla будет загружен штраф, но bla & Blaaaaa не находит файл.
Есть ли способ для меня избежать &?
Я не могу переименовать файлы на сервере, это было бы проще, но не возможно.
Файлы хранятся в БД, затем извлекаются и обрезаются их уникальным придатком. :)
$fileName = $eachFile['filename'];
$fileNamePretty = explode('__', $fileName); // ONLY FILENAME
, а затем в ссылке загрузки у меня есть:
<a href="../download.php?filename=<?php echo $fileName?>">
и download.php
<?php
require 'core/init.php';
$filename = $_GET['filename'];
$dir = "training/trainingDocuments/";
$downloadFilename = $dir.$filename;
//8 - SUBSEA QUESTIONS__51f034ab37a8e.xls
//if the filename exists
if(is_file($downloadFilename)){
//send the headers
header('Pragma: public'); //FIX IE6 Content-Disposition
header('Content-Description: File Transfer');
header('Content-Transder-Encoding: binary');
header(sprintf('Content-Length: %u', filesize($downloadFilename)));
header('Content-type: application/octet-stream');
header("Content-Disposition: attachment; filename=".$downloadFilename."");
readfile($downloadFilename);
$training->addToDownload($filename);//updates download count
}else{
//file doesn't exist
echo "File no exist\n\n";
echo $downloadFilename;
Спасибо за любую помощь
вы попытались бежать из & в Ури по кодировке URL? –