ホームページ >バックエンド開発 >PHPチュートリアル >phpファイルのアップロードとダウンロード
move_uploaded_file() 関数を使用して PHP ファイルをアップロードできます
しかし、ドキュメントにはファイルのダウンロード方法が記載されていません
ダウンロードして move_uploaded_file() を使用して転送したいです。アップロードしたディレクトリから、指定したダウンロード ディレクトリに移動します。これは奇妙に感じます。
議論への返信 (解決策)
header("xxxxxxxxx");
readfile("file");
ダウンロードのためにファイルの内容をブラウザに吐き出します。
Google や Baidu を通じてダウンロードできる情報はかなりたくさんあります。 。
アップロードされたファイルはすでにサーバー上にあるため、move_uploaded_file を使用してアップロードできます。
ファイルはサーバー上にあるため、ダウンロードには move_uploaded_file を使用できません。ファイルをクライアントにダウンロードする必要があります。 。 。
最も簡単な方法50d0ee49bf01de010ce0e599928404a1ダウンロード5db79b134e9f6b82c0b36e0489ee08ed ファイル アドレスを公開したくない場合。
readfile("file");
ダウンロードのためにファイルの内容をブラウザに吐き出します。
Google や Baidu を通じてダウンロードできる情報はかなりたくさんあります。 。
header("xxxxxxxxxx"); この文は何をするのでしょうか?
readfile("file"); だけだと、ファイルの内容だけが表示されます
ファイル (preg_match("/Firefox/", $user_agent) をダウンロードするときに、どのブラウザであるかを判断する必要があるのはなぜですか?
header('xxx') は何に使われますか? これを削除すると、readfile($file) はブラウザーにファイルの内容を表示し、ダウンロード ボックスはポップアップしません
<?php $file = 'test.zip'; $filename = '中文.zip'; if(file_exists($file)){ $user_agent = $_SERVER['Http_User_agent']; $encode_filename = rawurlencode($filename); if(preg_match("/MSIE/", $user_agent)){ header('content-disposition:attachment; filename="'.$encode_filename.'"'); }else if(preg_match("/Firefox/", $user_agent)){ header("content-disposition:attachment; filename*=\"utf8''".$filename.'"'); }else{ header('content-disposition:attachment; filename="'.$filename.'"'); } readfile($file); } ?>
ファイルをダウンロードするときに使用しているブラウザを確認する必要があるのはなぜですか (preg_match("/Firefox/", $user_agent)?
header('content-disposition:attachment; filename ="'.$encode_filename.'" ');
header('xxx') を削除すると、readfile($file) はファイルの内容をブラウザとダウンロード ボックスに表示します。
閲覧時にファイルヘッダーを設定します 受信者がヘッダーを受信すると、ファイルのダウンロードダイアログボックスがアクティブになります