用thinkphp將網路上的圖片下載到本地伺服器

魔豆發表於2016-10-23

我用的thinkphp版本是3.2.3,這個版本的跟更早些版本的呼叫方法不太一樣,正確的呼叫方法是:

 

Demo3Controller.class

<?php
namespace Home\Controller;
use Think\Controller;

class Demo3Controller extends Controller {
    public function download(){
        $url = "http://n.sinaimg.cn/sports/20161023/MrD2-fxwztrt0212622.jpg";
        $localUrl = "Public/bookcover/MrD2-fxwztrt0212622.jpg";
        
        $http = new \Org\Net\Http();
        $http->curlDownload($url, $localUrl);
    
        echo "儲存成功";
    }
    
}

$url是伺服器的遠端地址

$localUrl是本地伺服器地址

這裡要注意的是,Public/bookcover/目錄不存在的話,要先手工建立一個,不然會報錯,curlDownload方法不會自動建立本地資料夾。

儲存到Public目錄下的圖片,可以通過http://localhost/thinkphp/Public/bookcover/MrD2-fxwztrt0212622.jpg訪問到。

相關文章