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

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

WBOY
リリース: 2016-06-13 12:16:33
オリジナル
936 人が閲覧しました

PHP ファイルのアップロードとダウンロード
PHP ファイルのアップロードには move_uploaded_file() 関数
を使用できますが、ファイルのダウンロード方法が紹介されていません
ダウンロードしたいのですが、move_downloaded_file() 関数が見つかりません。そして、move_uploaded_file() を使用して、そこからダウンロードさせます。 アップロードしたディレクトリが、指定したダウンロード ディレクトリに転送されるのですが、これは奇妙に感じます。
php ファイルをダウンロードする方法を誰か共有できますか。
---- --ソリューションのアイデア-- ------------------
アップロードされたファイルはすでにサーバー上にあるため、アップロードできます_uploaded_file
ダウンロード中ファイルはサーバー上にあるため、move_uploaded_file にはできません。インターネットでは、ファイルをクライアントにダウンロードする必要があります。 。 。
最も簡単な方法ダウンロード
ファイル アドレスを公開したくない場合。
次を使用できます:
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) はファイルの内容を表示します。ブラウザにはポップアップのダウンロード ボックスはありません

ブラウザがヘッダを受信すると、ファイルのダウンロード ダイアログ ボックスがアクティブになります

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート