红穆笔记
首頁 語言筆記 PHP 利用curl下載文件,成功則返回文件地址,失敗則返回下載鏈接
語言筆記 PHP

PHP 利用curl下載文件,成功則返回文件地址,失敗則返回下載鏈接

PHP 利用curl下载文件,成功则返回文件地址,失败则返回下载链接

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

ad1a1b7183114520

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

代碼使用:

放進你的類庫裏,然後使用傳入下載鏈接和需要存放的絕對地址即可,代碼需要進行相關的修改,請自理更新,代碼經供參考。

微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

PHP ob函数记录

PHP ob函數記錄 語言筆記 PHP

下面3個函數的用法 ob_get_contents(); ob_end_clean(); ob_start(); 可以藉助這幾個函數實現緩衝本地文件,以及執行本地腳本代碼。 使用ob_start()把輸出的代碼存到緩衝區,頁面不會顯示出來; 然後用ob_get_contents得到緩衝區的數據。 o…
👁 141
PHP preg

PHP preg 語言筆記 PHP

preg_match_all 函數用於執行一個全局正則表達式匹配。preg_match_all() 語法int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG…
👁 169
PHP 三元运算符与if的详解

PHP 三元運算符與if的詳解 語言筆記 PHP

三元運算符語條件 ? 結果1 : 結果2 說明:問號前面的位置是判斷的條件,如果滿足條件時結果1,不滿足時結果2。本文對三元運算符和if...else...進行對比詳解,希望對大家有所幫助。今天在改論文在線的時候遇到了一個語句看不懂:$if_summary = $row['IF_SUMMARY']=…
👁 190
PHP强制转换类型

PHP強制轉換類型 語言筆記 PHP PHP採集 PHP與mysql

獲取數據類型1.如果想查看某個表達式的值和類型,用var_dump()。 2.如果只是想得到一個易讀懂的類型的表達方式用於調試,用 gettype()。3.要查看某個類型,不要用 gettype(),而用is_type() 函數。字符串轉換爲數值當一個字符串被當作數字來求值時,根據以下規則來決定結果…
👁 232
php 字符串中是否包含指定字符串的多种方法

php 字符串中是否包含指定字符串的多種方法 語言筆記 PHP

strstrstrstr() 函數搜索一個字符串在另一個字符串中的第一次出現。該函數返回字符串的其餘部分(從匹配點)。如果未找到所搜索的字符串,則返回 false。代碼如下:<?php $email = 'user@example.com'; $domain = strstr($email, …
👁 138

推薦閱讀

ChatGPT生成mardown格式文章

ChatGPT生成mardown格式文章 實用收藏 實用工具

3月2日凌晨,OpenAI放出了真正的ChatGPT API,不是背後的GPT-3.5大模型,是ChatGPT的本體模型—— ChatGPT3.5-Turbo!ChatGPT-3.5 Turbo 模型是 ChatGPT 所使用的模型,是GPT-3.5系列中最快速、最便宜、最靈活的模型。它可以提供超高…
👁 223
(自适应手机端)绿色pbootcms产业发展协会网站模板 协会网站源码下载 0811

(自適應手機端)綠色pbootcms產業發展協會網站模板 協會網站源碼下載 0811 實用收藏 pbootcms模板

一款綠色產業發展與協會PbootCMS網站模板,支持PC與WAP端。設計風格專業自然,適合行業協會、政府產業部門展示政策、活動及會員服務。有助於公共機構在線上建立信息發佈與交流平臺。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4s5.cn…
👁 50
响应式婴幼儿服装童装网站模板 0983

響應式嬰幼兒服裝童裝網站模板 0983 實用收藏 易優模板

此套eyoucms響應式模板適用於嬰幼兒服裝與童裝行業,設計風格時尚童趣,能夠展示童裝產品、嬰幼兒服飾、品牌形象及新品發佈。有助於童裝品牌在線上吸引家長消費者,提升品牌知名度。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易…
👁 44
(自适应手机版)响应式电梯扶梯类pbootcms模板 电梯生产企业绿色企业网站源码下载 0157

(自適應手機版)響應式電梯扶梯類pbootcms模板 電梯生產企業綠色企業網站源碼下載 0157 實用收藏 pbootcms模板

這套自適應手機版的響應式電梯扶梯類PbootCMS模板,採用綠色企業風格。設計風格專業環保,能夠展示電梯產品、維保服務與工程項目。有助於電梯生產或維保企業在線上樹立品牌形象,拓展樓宇與基礎設施建設市場。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:…
👁 43
消防灭火安防用品网站模板 0299

消防滅火安防用品網站模板 0299 實用收藏 易優模板

此套eyoucms模板適用於消防、滅火與安防用品行業,設計風格醒目專業,能夠展示消防產品、安防設備、安全解決方案及企業實力。有助於安防消防企業在線上展示產品,吸引企業與政府採購。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結…
👁 54
响应式品牌运动服装网站模板 0984

響應式品牌運動服裝網站模板 0984 實用收藏 易優模板

一款針對品牌運動服裝行業的eyoucms響應式網站模板。設計風格活力時尚,能夠展示運動服裝產品、品牌形象、運動裝備及新品發佈。有助於運動服裝品牌在線上展示產品,吸引運動愛好者。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易…
👁 51