ホームページ  >  記事  >  バックエンド開発  >  php readfileダウンロードソリューション

php readfileダウンロードソリューション

WBOY
WBOYオリジナル
2016-06-13 13:36:421362ブラウズ

php readfile download
Apache によってセットアップされたサーバーを使用して、次のコードを使用してネットワークディスクからファイルをダウンロードします
header("Content-type: application/$kind");

header( "Content-Disposition :attachment; filename=$filename");

readfile($requireurl);
//$requireurl=http://59.64.194.138/websvnWin/filedetails.php?repname= lvyang&path=%2Fpicture %2FDesert.jpg

上記のリンク画像をブラウザに直接入力すると表示されると思います
しかし、readfileが失敗します
//http:/ /59.64.194.138/websvnWin/dl.php?repname=lvyang&path=%2Fpicture%2FDesert.jpg&rev=447&peg=447
このリンクを使用して直接ダウンロードできますか? 分析を依頼する

ファイルの名前が "dl Lamp Building.jpg" などの中国語の場合、上記のリンクはダウンロードに失敗します

http://59.64.194.138/websvnWin/dl.php ?repname=lvyang&path =%2Fpicture%2Fdl%E7%81%AF%E6%A5%BC.jpg&rev=447&peg=447





----- -解決策- ------------------
PHP コード

header("コンテンツタイプ: アプリケーション/オクテットストリーム"); header("受け入れ範囲: バイト"); header("accept-length: " . filesize($fileDir . $fileName)); header("content-disposition:attachment; filename=" . $fileName);
<br>------解決策---------<font color="#e78608"></font>ランタイム構成<br><br>これらの動作関数の内容は php.ini の設定に影響されます。 <br><br>ファイルシステムとストリームの構成オプション<br>名前 デフォルト値 変更可能範囲 更新レコード<br>allow_url_fopen "1" PHP user_agent NULL PHP_INI_ALL PHP バージョン 4.3.0 から利用可能。 <br>default_socket_timeout "60" PHP_INI_ALL PHP バージョン 4.3.0 から利用可能。 <br>from "" PHP_INI_ALL <br>auto_detect_line_endings "0" PHP_INI_ALL PHP バージョン 4.3.0 以降で利用可能です。 <br>これは構成ディレクティブの簡単な説明です。 <br><br>allow_url_fopen boolean<br>このオプションは、URL 形式で fopen カプセル化プロトコルをアクティブにし、ファイルなどの URL オブジェクトへのアクセスを許可します。デフォルトのカプセル化プロトコルは、リモート ファイルにアクセスするための ftp および http プロトコルを提供します。zlib などの一部の拡張ライブラリは、さらに多くのカプセル化プロトコルを登録する場合があります。 <br><br>注:<br><br>セキュリティ上の理由から、このオプションは php.ini でのみ設定できます。 <br><br>注:<br><br>このオプションは、バージョン 4.0.3 のリリース直後に導入されました。バージョン 4.0.3 以前では、コンパイル時に構成オプション --disable-url-fopen-wrapper を使用してのみこの機能を無効にできます。 <br><br>警告<br>Windows バージョン PHP 4.3.0 より前では、次の関数はリモート ファイル アクセスをサポートしていません: GD および Image 関数の include()、include_once()、require()、require_once() および imagecreatefromXXX関数。 <br><div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:php次の記事:php