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

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

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

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

PHP CURL は、ローカルへのファイルのリモート ダウンロードを実装します。この関数によって返される結果には、ダウンロード時間、保存されたファイル名、および使用されたダウンロード方法が含まれます。文章は荒いですが、良い提案や改善案がありましたら、メッセージを残してください。

具体的なコードは次のとおりです:

<?php

//$result=httpcopy('http://www.phpernote.com/image/logo.gif');

echo '<pre class="brush:php;toolbar:false">';print_r($result);

function httpcopy($url,$file='',$timeout=60){
    $file=empty($file)?pathinfo($url,PATHINFO_BASENAME):$file;
    $dir=pathinfo($file,PATHINFO_DIRNAME);
    !is_dir($dir)&&@mkdir($dir,0755,true);
    $url=str_replace(' ',"%20",$url);
	$result=array('fileName'=>'','way'=>'','size'=>0,'spendTime'=>0);
	$startTime=explode(' ',microtime());
	$startTime=(float)$startTime[0]+(float)$startTime[1];
    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)){
			$result['fileName']=$file;
			$result['way']='curl';
			$result['size']=sprintf('%.3f',strlen($temp)/1024);
        }
    }else{
        $opts=array(
            'http'=>array(
            'method'=>'GET',
            'header'=>'',
            'timeout'=>$timeout
			)
        );
        $context=stream_context_create($opts);
        if(@copy($url,$file,$context)){
            $result['fileName']=$file;
			$result['way']='copy';
			$result['size']=sprintf('%.3f',strlen($context)/1024);
        }
    }
	$endTime=explode(' ',microtime());
	$endTime=(float)$endTime[0]+(float)$endTime[1];
	$result['spendTime']=round($endTime-$startTime)*1000;//单位:毫秒
	return $result;
}

興味がありそうな記事

  • phpはリモート画像を取得し、ダウンロードしてローカルに保存します
  • PHPはCurl関数を使用してマルチスレッドWebクローリングとファイルのダウンロードを実装します
  • リモートファイルがphpに存在するかどうかを確認する方法
  • php リモートファイルのサイズを取得
  • php ディレクトリを読み取り、ディレクトリ内のファイルを一覧表示する関数
  • php ディレクトリフォルダーを削除せずに、指定されたディレクトリ内のファイルをクリア(削除)します
  • php にあるすべてのファイルを取得しますディレクトリを作成し、結果を Array プログラムに保存します
  • SecureCRT を使用してファイルをアップロードおよびダウンロードします (sz および rz コマンドを使用)

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/992743.html技術記事 PHP CURL は、ローカルへのファイルのリモート ダウンロードを実装します。 PHP CURL は、ローカルへのファイルのリモート ダウンロードを実装します。この関数によって返される結果には、ダウンロード時間、保存されたファイル名、使用されたダウンロード方法が含まれます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。