PHP 強制ダウンロードに関する別の問題。それは機能していたので、何かをしましたが、今はそうではありません。
ここに行きます (私が受け入れるファイルの種類ごとに if ステートメントがありますが、1 つを表示するだけで問題を診断するのに十分なはずです)。
$string1 = 'home/myhost/aboveroot/reviews/';
$string2 = $username;
$string3 = '/';
$string4 = $filename;
$file= $string1.$string2.$string3.$string4;
$ext = strtolower (end(explode('.', $filename)));
//Finding MIME type
if ($ext = pdf){
header("Content-disposition: attachment; filename= '$filename'");
header('Content-type: application/pdf');
readfile('$file');
最終的に何が起こるかというと、正しいファイル名と正しい拡張子を持つファイルのダウンロードを強制することです。いかなる種類のファイル破損エラーも引き起こしません。ただし、ファイルを開くと、コンテンツが欠落しています。Word文書の場合、開くことを拒否します。テキスト ドキュメントの場合、テキストは次のように一連の php エラーに変更されます。
警告: readfile($file) [function.readfile]: ストリームを開くことができませんでした: No such file or directory in /home/myhost/public_html/wwww.mydomain.com/pagethatforceddownload.php行68
次に、ヘッダーのある行ごとにこのエラーが発生します(条件を満たさないif句に含まれている場合でも:
警告: ヘッダー情報を変更できません - /home/myhost/public_html/wwww.mydomain.com/pagethatforceddownload 内の ( /home/myhost/public_html/wwww.mydomain.com/pagethatforceddownload.php:68 で開始された出力) によって既に送信されたヘッダー。69行目のphp
私は本当に迷っています。どんな助けでも大歓迎です。私はついに自分のサイトのすべてが機能し、BAM が動作するようになりました。私はこの巨大な問題を抱えていることに気付きました。