之前也寫過類似的功能,但是沒有記筆記,最後就搞忘了,最近又開始寫,所以這裏記錄一下!

PHP代碼:
public function downloadFile($url, $path) {
// 判斷文件是否存在
if (file_exists($path)) {
// 判斷文件大小是否大於10KB
if (filesize($path) > 10240) {
// 文件已經成功下載過
return str_replace(dirname(dirname(__DIR__)), '', $path);
}
}
// echo 123;
// 初始化 cURL
$ch = curl_init($url);
// 設置保存文件路徑及文件句柄
$fp = fopen($path, 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);
// 設置 cURL 選項
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3');
// 執行下載
$result = curl_exec($ch);
// 關閉文件句柄和 cURL 資源
fclose($fp);
curl_close($ch);
// 根據下載結果返回對應的值
if ($result !== false) {
return str_replace(dirname(dirname(__DIR__)), '', $path);
} else {
// 處理錯誤
return $url;
}
}代碼使用:
放進你的類庫裏,然後使用傳入下載鏈接和需要存放的絕對地址即可,代碼需要進行相關的修改,請自理更新,代碼經供參考。