今夜は、ウェブサイトのファイルダウンロードの原理について、以下のコードを使って分析してみましょう。 ? & Lt;? Php function double ($ file_name) {
header ("content-type: text/html; charset = uTF-8"); file_exists 関数が中国語を理解しないように変換します。
$file_name = iconv("utf-8","gb2312",$file_name);
$path = $_SERVER['DOCUMENT_ROOT']'
// ダウンロードしたファイルの絶対ディレクトリを取得します $file_path = $ PATH. '/'. $ FILE_NAME; // ダウンロードするファイルのパス
if (! File_exists ($ file_path)) {
'が存在しません! ';
exit();}
// ダウンロードされたファイルを共有するには、最初にメモリに読み込む必要があります
// 注: サーバーからのダウンロードに関連するファイル操作はすべて最初に実行する必要がありますサーバーはファイルをメモリに読み込みます
$file_size = filesize($file_path); // ファイルの合計サイズを取得します
// PHP を使用する必要がありますファイルをダウンロード Header // このコードを通じて、クライアントのブラウザはサーバーから返されたファイル形式を知ることができます
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes") ; サーバーによって返されたファイルの名前 download
Header("Content-Disposition:attachment; filename=".$file_name); $buffer = 1024; サーバーに大きな負荷をかけないようにします。したがって、一度に読み取られるのは 1024 バイトだけです C $ file_count = 0;
// Feof: ファイルの終わりを読み取ります
While (! Feof ($ fp) && $ file_count & lt; $ file_size) { / / fopen を通じて、ファイルがメモリに置かれました。メモリから fread を読み込んでダウンロードします
$file_content = fread($fp, $buffer); ; ダウンロードの原理は、将来ダウンロード機能を実行する際のヒントになれば幸いです。十分!
上記では、コンテンツの側面も含めて、Web サイトのファイルのダウンロードの原則を簡単に紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。