<?php session_start(); $user = $_SESSION['login_name']; $filename = $_GET["f"]; $file = "../upload/".$user."/".$filename; if (file_exists($file)) { 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'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); exit; }?>
文字化けしているファイルは中国語の名前ですか?
header("Content-type: text/html; charset=GB2312");
または
header("Content-type: text/html; charset=GBK"); を追加します
明らかに文法上の間違いです
明らかに文法ミスです
ごめんなさい、写真を投稿するのを忘れていました。
ここをクリックしてください。その中で、New Document(2).txt のダウンロードリンクをクリックしました。先ほど投稿したコード内の php にジャンプします:
その結果、ブラウザーはテキストをダウンロードする代わりにテキストを開きます。
理由を聞いてもいいですか...
ob_clean();flush();
これら 2 つを削除して見てください
ob_clean();flush();
これら 2 つを削除して見てください
ありがとうございます!結局、を2行目から書き始めたせいでエラーが報告されてしまいました
細かいところは油断してないようですね!