ホームページ  >  記事  >  バックエンド開発  >  PHP はローカルへのファイルのリモート ダウンロードを実装します_PHP チュートリアル

PHP はローカルへのファイルのリモート ダウンロードを実装します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:53:56786ブラウズ

PHP はローカルへのファイルのリモートダウンロードを実装します

コレクター公開インターフェイスを作成するときに、リモート添付ファイルの機能を使用する必要があることが多いため、通常の状況では、ファイルをリモートからローカルにダウンロードするための PHP 関数を作成しました。サーバーが CURL 機能をサポートしていれば、プログラムは CURL を必要とする友人にそれを優先的に参照させることができます。

コードは非常にシンプルなので、あまり意味のないことには触れず、直接提示するだけです。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

echo httpcopy("http://www.baidu.com/img/baidu_sylogo1.gif");

関数 httpcopy($url, $file="", $timeout=60) {

$file = empty($file) ? パス情報($url,PATHINFO_BASENAME) : $file;

$dir = パス情報($file,PATHINFO_DIRNAME);

!is_dir($dir) && @mkdir($dir,0755,true);

$url = str_replace(" ","%20",$url);

if(function_exists('curl_init')) {

$ch =curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$temp =curl_exec($ch);

if(@file_put_contents($file, $temp) && !curl_error($ch)) {

$file を返す;

} 他 {

false を返す;

}

} 他 {

$opts = 配列(

"http"=>配列(

"メソッド"=>"GET",

"ヘッダー"=>"",

「タイムアウト」=>$timeout)

);

$context = stream_context_create($opts);

if(@copy($url, $file, $context)) {

//$http_response_header

$file を返す;

} 他 {

false を返す;

}

}

}

?>

サーバーへの別のリモート ダウンロード ファイル

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<フォームメソッド="post">

// 秒単位の最大実行時間

set_time_limit (24 * 60 * 60);

if (!isset($_POST['submit'])) die();

// ダウンロードしたファイルを保存するフォルダーはスラッシュで終わる必要があります

$destination_folder = 'temp/';

$url = $_POST['url'];

$newfname = $destination_folder ;

$file = fopen ($url, "rb");

if ($file) {

$newf = fopen ($newfname, "wb");

if ($newf)

while(!feof($file)) {

fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );

}

}

if ($file) {

fclose($file);

}

if ($newf) {

fclose($newf);

}

?>

以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1000064.html技術記事 PHP はローカル エリアへのファイルのリモート ダウンロードを実装します。多くの場合、コレクター公開インターフェイスはリモート添付ファイルの機能を使用する必要があるため、一般的にはファイルをリモートでダウンロードするための PHP 関数を作成しました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。