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

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

WBOY
WBOYオリジナル
2016-06-23 13:40:31967ブラウズ

//ファイルダウンロード関数
//$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 "ファイルが存在しません!"
$file_size=filesize($file_path); /返されたファイル
header("Content-type: application/octet-stream");
// バイト サイズに応じて返す
header("Accept- Ranges: bytes");
// ファイル サイズを返す
header("Accept-length: $file_size");
// クライアントはダイアログ ボックスと対応するファイル名を表示します
header("Content-Disposition:attachment; file_name= ".$file_name);データをクライアントに送り返す

$buffer=1024;
//ダウンロードの安全性を確保するために、ファイルのバイト読み取りテクノロジを作成します
$file_count=0;
// ファイルが End であるかどうかを判断します
while (!feof( $fp) && ($file_size-$file_count>0)){
$file_data=fread($fp, $buffer)
//何バイト読み込まれましたか? /");
?>



回讨论(解决方案)

以下は错误

警告: fopen(C:/AppServ/www/test/) [function.fopen]: ストリームを開くのに失敗しました: C:AppServwwwtestFileDownServer.php オンラインで許可が拒否されました16

警告: ヘッダー情報は変更できません - ヘッダーはすでに送信されています (出力は C:AppServwwwtestFileDownServer.php:16 で開始されます)、C:AppServwwwtestFileDownServer.php の 22 行目

警告: ヘッダー情報は変更できません - ヘッダーはすでに送信されています送信者(出力C:AppServwwwtestFileDownServer.php:16 で開始)、C:AppServwwwtestFileDownServer.php の 24 行目

警告: ヘッダー情報は変更できません - ヘッダーはすでに送信されています (C:AppServwwwtestFileDownServer.php:16 で開始された出力)。 php 26 行目

警告: ヘッダー情報は変更できません - C:AppServwwwtestFileDownServer.php で既に送信されたヘッダー (C:AppServwwwtestFileDownServer.php:16 で開始) 28 行目

警告: feof(): 指定された引数はではない36 行目の C:AppServwwwtestFileDownServer.php の有効なストリーム リソース

警告: fread(): 提供された引数は、37 行目の C:AppServwwwtestFileDownServer.php の有効なストリーム リソースではありません

警告: feof(): 提供された引数ではありません36 行目の C:AppServwwwtestFileDownServer.php の有効なストリーム リソース

警告: fread(): 提供された引数は、37 行目の C:AppServwwwtestFileDownServer.php の有効なストリーム リソースではありません

警告: feof(): 提供された引数ではありません有効なストリーム リソース (C:AppServwwwtestFileDownServer.php (36 行目))

警告: fopen(C:/AppServ/www/test/) [function.fopen]: ストリームを開くことができませんでした: C:AppServwwwtestFileDownServer.php (16 行目) で許可が拒否されました
说的很明确了!
許可が拒否されました 中文释义:权限被开绝

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