サーバー内の PDF ファイルは正常です。FTP による直接ダウンロードによって検証されています。
ダウンローダーのコードの一部は次のとおりです:
$file_size = filesize($filedir);
header("Content-type: application/octet-stream;charset=ISO-8859-1"); "キャッシュ制御: プライベート");
header("Accept-Range: バイト");
header("Content-Disposition: 添付ファイル名); =" . $ this->delFileName);
$fp = fopen($filedir,"r");
$buffer_size = 1024;
$cur_pos = 0;
while(!feof($fp) && $filedir- $cur_pos > $buffer_size)
{
$buffer = fread($fp,$buffer_size);
$cur_pos += $buffer_size
}
if($file_size > 0)
$buffer = fread($ fp,$file_size-$cur_pos);
else
$buffer = fread($fp,$this->FjSize);
fclose($fp);
ディスカッションへの返信 (解決策)
$fp = fopen($filedir,"r b"); // Linux では必須ではありませんが、バイナリ モードで開くことをお勧めします。テキストモードでは、0x1a がファイルの終わりとみなされます
while(!feof($fp) && $filedir-$cur_pos > $buffer_size)
while(!feof($fp)) feof と書く必要があります。 ($fp) はファイルの終わりです
モデレーターに従う 言っていることは変わりました。まだ間違っています。
PS: このプログラムは過去 1 年間順調に動作していましたが、問題が発生したのはここ数日です。个 一 ファイルをアップロードすると、内容は次のとおりです
1234567890
ABCDEFGHIJKLMNOPQRSTUVWXYZ
その後、ローカルエリアにダウンロードされます。