發表文章

目前顯示的是 5月, 2025的文章

[PHP] 如何利用 cURL 實現自動排程

在開發 PHP 專案時,有時會需要定時從某個 API 或網站抓取資料,例如每日更新匯率、天氣預報,或備份遠端資料。這類需求可以透過 PHP 的 cURL 函式來完成抓取動作,再搭配 Linux 的 cron 排程功能,就能達到「自動執行」的效果。 以下將介紹如何用 PHP 的 cURL 撰寫一支簡單的資料抓取程式,並教你如何設定排程,讓它自動定時執行。 範例程式碼:用 cURL 抓取資料的函式 <?php /** * 透過 cURL 從指定 URL 獲取內容。 * * @param string $url 要獲取內容的目標 URL。 * @param int $timeout (可選) cURL 連線的超時時間,單位秒。預設為 30 秒。 * @param bool $verifySsl (可選) 是否驗證 SSL 憑證。預設為 false (不驗證)。 * @return string|false 成功時回傳 URL 內容字串,失敗時回傳 false。 */ function fetchDataFromUrl(string $url, int $timeout = 30, bool $verifySsl = false) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); // 不包含響應頭部 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 將結果以字串回傳 curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); // 設定超時時間 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $verifySsl); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $verifySsl ? 2 : 0); $content = curl_exec($ch); if (curl_errno($ch)) { $content = false; } cu...