0
Webrootフォルダ以外のフォルダにファイルをアップロードし、データベースによって認証された後にファイルを取得するためにPHPコードを使用しています。私のコードは動作している、すなわちファイルを取得している、唯一の問題は、アップロードされたpdfsにスペースのあるファイル名が含まれていて、以下のコードがスペースの前の最初の単語を取得しているようです。root以外のファイルを取得し、空白を含むファイル名を削除しないでください
例のファイル名は London.pdf 野生生物写真パート1.pdfへの旅
ある以外のデータベースとphuycicalファイルを通過し、スペースの代わりにアンダースコアを含むように、各ファイルを置き換えてから、そこにあります私は下のコードを変更してファイル名全体を取得する方法ですか?
スペースが検出されたにもかかわらず、それが機能しない場合、ファイル名を%20に置き換えることができると考えました。
/* Done some processing above to retrieve the $filename for the pdf */
$file = 'h:'.$filename;
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;