ホームページ >バックエンド開発 >PHPチュートリアル >PHP ファイルのアップロードおよびダウンロードのソリューション

PHP ファイルのアップロードおよびダウンロードのソリューション

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

PHP ファイルのアップロードとダウンロード
PHP ファイルのアップロードには move_uploaded_file() 関数
を使用できますが、ファイルのダウンロード方法が紹介されていません
ダウンロードしたいのですが、move_downloaded_file() 関数が見つかりません。そして、move_uploaded_file() を使用して、そこからダウンロードさせます。 アップロードしたディレクトリが、指定したダウンロード ディレクトリに転送されるのですが、これは奇妙に感じます。
php ファイルをダウンロードする方法を誰か共有できますか。
---- --ソリューションのアイデア-- ------------------
アップロードされたファイルはすでにサーバー上にあるため、アップロードできます_uploaded_file
ダウンロード中ファイルはサーバー上にあるため、move_uploaded_file にはできません。インターネットでは、ファイルをクライアントにダウンロードする必要があります。 。 。
最も簡単な方法4b5980344a18fcbdbec1f1450dd72f1dダウンロード5db79b134e9f6b82c0b36e0489ee08ed
ファイル アドレスを公開したくない場合。
次を使用できます:
header("xxxxxxxxxx");
readfile("File");
ファイルのコンテンツをブラウザに吐き出してダウンロードできます。

Google や Baidu からダウンロードできる情報はかなりたくさんあります。 。
------解決策のアイデア----------------------

<br /><?php  <br />$file = 'test.zip';  <br />$filename = '中文.zip';  <br />  <br />if(file_exists($file)){  <br />    $user_agent = $_SERVER['Http_User_agent'];  <br />    $encode_filename = rawurlencode($filename);  <br />  <br />    if(preg_match("/MSIE/", $user_agent)){  <br />        header('content-disposition:attachment; filename="'.$encode_filename.'"');  <br />    }else if(preg_match("/Firefox/", $user_agent)){  <br />        header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');  <br />    }else{  <br />        header('content-disposition:attachment; filename="'.$filename.'"');  <br />    }  <br />    readfile($file);  <br />}  <br />?> <br />


ダウンロードしてください。
------ソリューションのアイデア----------------------

引用:
引用: 引用:

<br /><?php  <br />$file = 'test.zip';  <br />$filename = '中文.zip';  <br />  <br />if(file_exists($file)){  <br />    $user_agent = $_SERVER['Http_User_agent'];  <br />    $encode_filename = rawurlencode($filename);  <br />  <br />    if(preg_match("/MSIE/", $user_agent)){  <br />        header('content-disposition:attachment; filename="'.$encode_filename.'"');  <br />    }else if(preg_match("/Firefox/", $user_agent)){  <br />        header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');  <br />    }else{  <br />        header('content-disposition:attachment; filename="'.$filename.'"');  <br />    }  <br />    readfile($file);  <br />}  <br />?> <br />


ダウンロード。



ファイル (preg_match("/Firefox/", $user_agent) をダウンロードするときに、どのブラウザを使用しているかを確認する必要があるのはなぜですか?
header('content -disposition:attachment; filename="'.$encode_filename.'"');
header('xxx') を削除すると、readfile($file) はファイルの内容を表示します。ブラウザにはポップアップのダウンロード ボックスはありません

ブラウザがヘッダを受信すると、ファイルのダウンロード ダイアログ ボックスがアクティブになります
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。