関数 f($file_name,$file_path){
$file_name=$_SERVER['DOCUMENT_ROOT'].$file_path.$file_name;
$file_path=iconv("utf-8","gb2312",$file_name); if(!file_exists($file_path))
// if(!file_exists($file_name))
{
echo "存在しません"
return;
}
$fp=fopen($file_path,"r");
$file_size=filesize($file_path);
header("Content-type: application/octet-stream")
header("Accept-Length:$"); file_size") ;
header("Content-Disposition:attachment;filename=".$file_name);
$buffer=1024;
while(!feof($fp))
{
$file_data=fread($fp,$
echo $file_data;
}
fclose($fp);
ダウンロードしたファイルが破損しているのはなぜですか??破損していますか??
ダウンロードしたファイルが破損しているのはなぜですか??
ダウンロードしたファイルが破損しているのはなぜですか??
テスト後、問題はない。
Thunder などを採掘できないのはなぜですか?ダウンロードしたファイルが不完全である可能性があります
また、何を使って開けましたか。コードの実行環境は何ですか?
テスト済み、すべて正常に動作します。
Win7 画像ビューア
Google Chrome apache php5.3
E/Apache/htdocs ディレクトリに qq.jpg ファイルはありますか?
メモ帳で画像ファイルを開いて、そこにあるものを確認してください。
大量の文字化け
コード内に $file_path=iconv("utf-8", "gb2312", $file_name)
があります。これは、php がウィンドウ システム
で動作していることを意味します。システムはテキスト ファイルとバイナリ ファイルを厳密に区別します
ただし、バイナリ ファイルをテキスト モードで開くには $fp=fopen($file_path,"r"); を使用しますしたがって、ルールに違反しているため、正しい結果は得られません
バイナリ モードでバイナリ ファイルを開く $fp=fopen($file_path,"r b"); を使用する必要があります
さらに、utf-8 でエンコードされたプログラム ファイルは、BOM ヘッダーのない形式で保存する必要があります
ありがとうございます。BOM なしに変更してください。ヘッダー形式を保存するだけです