PHP は header() を使用してファイルのダウンロードを実装します。ダウンロードされたファイルは破損しているため開くことができないというメッセージが表示されます。

WBOY
リリース: 2016-07-13 10:31:18
オリジナル
1432 人が閲覧しました

このサイトは以前にファイルのダウンロード機能を共有していました。具体的な記事のリンクアドレスは次のとおりです。

PHPファイルダウンロード関数(コード)

最近、お客様から、Web サイト上のすべての写真をダウンロードできないとの報告がありました。ダウンロードされた写真はすべて破損しており、それが原因で直接開くことができなくなりました。その結果、この問題が存在することがわかりました。ソースコードを注意深く調べた結果、根本的な原因は fread 関数の 2 番目のパラメータにあることがわかりました。 fread 関数が一度に読み取れるバイト数は 8192 バイト、つまり 8KB に制限されています。このサイズを超えるファイルを完全に読み込むには、最後までループで読み込む必要があります。ファイル。上記の修正を踏まえ、以下のコードがブレーク後のコードとなり、テストの結果、問題は解決しました。

function download($file_url,$new_name=''){
	if(!isset($file_url)||trim($file_url)==''){
		return '500';
	}
	if(!file_exists($file_url)){//检查文件是否存在
		return '404';
	}
	$file_name=basename($file_url);
	$file_type=explode('.',$file_url);
	$file_type=$file_type[count($file_type)-1];
	$file_name=trim($new_name=='')?$file_name:urlencode($new_name).'.'.$file_type;
	//输入文件标签phpernote
	header("Content-type: application/octet-stream");
	header("Accept-Ranges: bytes");
	header("Accept-Length: ".filesize($file_url));
	header("Content-Disposition: attachment; filename=".$file_name);
	//输出文件内容
	@readfile($file_type);
}
ログイン後にコピー
興味がありそうな記事

    SecureCRT を使用してファイルをアップロードおよびダウンロードする (sz および rz コマンドを使用)
  • hosts ファイルの場所と hosts ファイルを開く方法
  • PHP はファイルのヘッダー情報を分析して、アップロードされたファイルの種類を判断しますfile
  • phpは、ディレクトリフォルダーを削除せずに、指定されたディレクトリ内のファイルをクリア(削除)します
  • PHPは、Curl関数を使用して、マルチスレッドWebページのクローリングとファイルのダウンロードを実現します
  • PHPのファイルダウンロード関数(コード)
  • phpのファイルを制限する関数ダウンロード速度
  • テキストの上にマウスを移動すると、フローティングプロンプト効果が表示されます (IE、Firefox、その他のブラウザと互換性があります)

http://www.bkjia.com/PHPjc/764096.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/764096.html技術記事このサイトは以前、ファイルのダウンロード機能を共有していました。具体的な記事のリンク アドレスは次のとおりです。 PHP ファイルのダウンロード機能 (コード) 最近、お客様から Web サイト上のすべての画像をダウンロードできないとの報告がありました...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!