ホームページ  >  記事  >  バックエンド開発  >  PHP ファイルのダウンロード コード、何が間違っているのか教えてください。

PHP ファイルのダウンロード コード、何が間違っているのか教えてください。

WBOY
WBOYオリジナル
2016-06-13 12:14:49861ブラウズ

PHP ファイルのダウンロード コード、何が間違っているのか教えてください。
//ファイル ダウンロード関数
//$file_path ファイル ダウンロード パス
//$file_name ファイル名
/ /$file_sub_dir ダウンロード ファイルのサブパス
function down_file($file_name,$file_sub_dir){
//ファイル名が中国語の場合、トランスコード
$file_name=iconv("utf-8", "gb) -2312", $file_name);
//絶対パス
$file_path=$_SERVER["DOCUMENT_ROOT"].$file_sub_dir.$file_name;
//ファイルを開く
if(! file_exists( $file_path)){
echo "ファイルが存在しません!";
return;
}
$fp=fopen($file_path, "r");

/ /ファイルサイズを取得
$file_size=filesize($file_path);

//返されたファイル
header("Content-type: application/octet-stream");
// に従って返す
header("Accept-Ranges: bytes");
//ファイル サイズを返します
header("Accept-length: $file_size");
//クライアント ポップ- up ダイアログ ボックス、対応するファイル名
header("Content-Disposition:attachment; file_name=".$file_name);

//データをクライアントに送り返す

$buffer= 1024 ;
//ダウンロードの安全性を確保するため、ファイルバイト読み取り技術デバイスを作成します
$file_count=0;
//ファイルが終了したかどうかを判断します
while (!feof($fp) && ( $ file_size-$file_count>0)){
$file_data=fread($fp, $buffer);
//読み取られたバイト数
$file_count =$buffer;
//Putデータの一部がブラウザに渡されます
echo $file_data;

}
//ファイルを閉じます
fclose($fp);
}
file_down(" 1.jpg" ,"/test/");
?>
-----ソリューションのアイデア------ ----
警告: fopen(C:/AppServ/www/test/) [function.fopen]: ストリームを開けませんでした: C:AppServwwwtestFileDownServer.php の 16 行目で許可が拒否されました
とても明確です!
許可が拒否されました 中国語の意味: 許可が拒否されました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。