サーバー上にあるファイルへのダウンロードダイアログを開くphpスクリプトがあります。ほとんどの場合は機能しますが、ファイル名に「&」が含まれている場合、クライアントのコンピューターでファイルを開こうとすると破損します。さまざまな種類のファイルを試しましたが、xls、xlsx、pdfがすべて破損しています(試したのはこれだけです)。これを修正する方法について何かアイデアはありますか?コードは以下のとおりです。
header("Cache-control: private");
header("Content-Type: " . $oFile->getMimeType());
header("Content-Length: " . $oFile->getFileSize());
header("Content-Disposition: attachment; filename=" . $fileName);
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: public");
編集:Notepad++またはSublimeTextのいずれかのテキストエディタでファイルを開くと、ファイルにコンテンツが表示されません。