西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)php教程 → PHP代碼實現(xiàn)遠(yuǎn)程下載文件到本地的函數(shù)

PHP代碼實現(xiàn)遠(yuǎn)程下載文件到本地的函數(shù)

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:孤魂時間:2012/3/22 11:18:39字體大。A-A+

作者:孤魂點(diǎn)擊:756次評論:13次標(biāo)簽: PHP

  • 類型:服務(wù)器區(qū)大小:21M語言:中文 評分:7.5
  • 標(biāo)簽:
立即下載

經(jīng)常寫采集器發(fā)布接口需要使用到遠(yuǎn)程附件的功能,所以自己寫了一個PHP遠(yuǎn)程下載文件到本地的函數(shù),一般情況下已經(jīng)夠用了,如果服務(wù)器支持CURL函數(shù),程序則會優(yōu)先選擇CURL,因為測試結(jié)果表明CURL的響應(yīng)時間及資源占用率比file_get_contents小得多;如果大家有好的建議及改進(jìn)方案,歡迎留言給我哦!

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

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);

    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)) {
            return $file;
        } else {
            return false;
        }
    } else {
        $opts = array(
            "http"=>array(
            "method"=>"GET",
            "header"=>"",
            "timeout"=>$timeout)
        );
        $context = stream_context_create($opts);
        if(@copy($url, $file, $context)) {
            //$http_response_header
            return $file;
        } else {
            return false;
        }
    }
}
?>

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    第 2 樓 中國CZ88.NET 網(wǎng)友 客人 發(fā)表于: 2013/1/31 14:56:06
    不錯不錯

    支持( 0 ) 蓋樓(回復(fù))

    第 1 樓 廣東廣州電信 網(wǎng)友 客人 發(fā)表于: 2012/5/8 16:06:38
    謝謝了,兩種方法比較全。

    支持( 0 ) 蓋樓(回復(fù))

    發(fā)表評論 查看所有評論(13)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)