ホームページ > バックエンド開発 > PHPチュートリアル > PHPでファイルのプロキシダウンロードを実装する方法

PHPでファイルのプロキシダウンロードを実装する方法

WBOY
リリース: 2016-06-23 13:50:06
オリジナル
3103 人が閲覧しました

中国で a.com/a.rar にアクセスできない場合、a.php スクリプトを作成して海外サーバーに配置する場合は、スクリプト パス b.com/a.php?url=http://a にアクセスします。 .com/a .rar
次に、この a.php ファイルの書き方を説明します


ディスカッションへの返信 (解決策)

を回って壁を乗り越えることができますか?曲げる?

http://www.cnblogs.com/sum41van/articles/1422450.html

b.com/a.php?url=http://a.com/a.rar
ファイルが大きくない場合は、次のように書くことができます

$url = isset($_GET['url'])? $_GET['url'] : '';if($url){    $content = file_get_contents($url);    if($content){        header('cache-control:public');        header('content-type:application/octet-stream');        header('content-disposition:attachment; filename='.basename($url));        echo $content;    }}
ログイン後にコピー
ログイン後にコピー

必ず確認してください
1. 中国は b.com にアクセスできます
2. b.com は a.com にアクセスできます

curl

$url = '传入的目标url';$ch = curl_init(); //初始化curl_setopt($ch, CURLOPT_URL, $url);//curl_setopt($ch, CURLOPT_REFERER, '某个来路url'); //伪造来路页面curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'func');curl_exec($ch); //执行function func($ch, $str) {  static $s = '@';  if($s) {    $s = trim($str);    if($s) header($s);  }else echo $str;  return strlen($str);}
ログイン後にコピー
を使用できます

b.com/a.php ?url=http:// a.com/a.rar
ファイルが大きくない場合は、次のように記述できます

$url = isset($_GET['url'])? $_GET['url'] : '';if($url){    $content = file_get_contents($url);    if($content){        header('cache-control:public');        header('content-type:application/octet-stream');        header('content-disposition:attachment; filename='.basename($url));        echo $content;    }}
ログイン後にコピー
ログイン後にコピー


ありがとうございます、ダウンロード トラフィックの統計情報を追加できれば素晴らしいですね

ダウンロードカウント統計?

ダウンロード数統計?

いいえ。このファイルを通じてダウンロードされたファイルの合計サイズを記録するためです

ダウンロード関数をメソッドに組み込み、一度実行した後にデータ テーブルに 1 を追加します


ダウンロード数の統計

いいえ。このファイルを通じてダウンロードされたファイルの合計サイズを記録するためです

?? の下のファイルの合計サイズ
echo strlen($content);
サイズを取得して ??? に入れることができます。



統計をダウンロードしますか?

いいえ。このファイルを通じてダウンロードされたファイルの合計サイズを記録するためです

?? の下のファイルの合計サイズ
echo strlen($content);
サイズを取得して ??? に入れることができます。
ありがとう、今日は HTML コードを作業に組み込む 1 日の作業を学びました




ダウンロード数の統計

いいえ。このファイルを通じてダウンロードされたファイルの合計サイズを記録するためです

?? の下のファイルの合計サイズ
echo strlen($content);
サイズを取得して ??? に入れることができます。
ありがとうございます。今日は HTML コードを作品に組み込む方法を 1 日学びました
http://qqgae.byethost16.com/1/

問題が解決したら、投稿してください。

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