事例を挙げてください:
コードをコピーします コードは次のとおりです:
class Downfile {
Function downserver($file_name){
$file_path = "./img/".$file_name;
//トランスコーディングすると、中国語の文字化けを解決するためにファイル名が gb2312 に変換されます
$file_name = iconv("utf-8","gb2312",$file_name);
$file_path = iconv("utf-8","gb2312 ",$file_path);
$fp = fopen($file_path,"r") または exit("ファイルが存在しません");
//変数が空の場合は各ダウンロードのサイズを定義します
$buffer = 1024;
//ファイルのサイズを取得します
$file_size = filesize($file_path);
//header("Content-type:text/html;charset=gb2312");
//使用される 4 つの http プロトコル情報を書き込みます
header("Content-type:application/octet -stream");
header("Accept-Ranges:bytes");//無視して構いません
header("Content-Length: ".$file_size);//ここでの元のテキストは Accept-Length です。 http プロトコルを確認したところ、そのような項目はありません
header("Content-Disposition:attachment;filename=".$file_name);
//byte テクノロジー デバイス、現在の数を記録します。 bytes
$count = 0;
while(!feof($fp) && $file_size -$count>0){
//$fp によって開かれたファイル ストリームから毎回 $buffer サイズのデータを読み取ります
$file_data = fread( $fp,$buffer);
$count+=$buffer;
// 読み込んだデータを読み取る
echo $file_data;
}
// ファイルストリームを閉じる
fclose($fp);
}
}
?> ;
この関数を呼び出し、ファイル名を渡してファイルをダウンロードしますが、$file_path の変更には注意してください
http://www.bkjia.com/PHPjc/779157.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/779157.html技術記事例として、次のようにコードをコピーします。 ?php class Downfile { function downserver($file_name){ $file_path = "./img/".$file_name; //トランスコーディングでは、中国語の混乱を解決するためにファイル名が gb2312 に変換されます。 ...