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 行目で許可が拒否されました
とても明確です!
許可が拒否されました 中国語の意味: 許可が拒否されました