ブラウザに txt ファイルへのアクセスを許可するとどうなりますか?たとえば、localhost/test/test.txt にアクセスすると、ブラウザは TXT ファイルの内容をダウンロードするのではなく、ブラウザ上に直接表示します。
ただし、すべてのファイルがブラウザ上で直接読み取られるわけではなく、.zip、.doc などのファイルは直接ダウンロードされ、.jpg、.png、.txt などのファイルは直接ダウンロードされます。 。 txt などのファイルが比較的大きい場合、ブラウザーに直接読み取られたくない場合があります。これにより、サーバーへの負荷も大きくなります。 この時、ヘッダー情報を指定することで実現できます:
$file = fopen($url, "r"); //打开文件url header("Content-Type: application/octet-stream"); //指定mime类型为八进制文件流 header("Accept-Ranges: bytes"); header("Accept-Length: ".filesize($url)); header("Content-Disposition: attachment; filename=$name"); //$name是文件的名字,一般在$url的最后 echo fread($file,filesize($url)); fclose($file);