PHP “file_put_contents”和”unlink”進行 JSON 檔案的操作


在 PHP 中經常需要儲存並處理 JSON 資料。如何使用 file_put_contents 函數來儲存 JSON 資料到檔案,以及使用 unlink 函數刪除檔案的寫法。

使用 file_put_contents 儲存 JSON 資料

file_put_contents 函數可以用來將資料寫入檔案。如果檔案不存在,該函數會自動建立檔案。以下是 file_put_contents 的函數定義:

file_put_contents(
    string $filename,
    mixed $data,
    int $flags = 0,
    ?resource $context = null
): int|false

實際運用:儲存 JSON 資料

假設我們從某個 API 抓取了一些股市交易資料,並希望將這些資料以 JSON 格式儲存到檔案中:

$response = [
    [
        "Date" => "1130604",
        "SecuritiesCompanyCode" => "006201",
        "CompanyName" => "元大富櫃50",
        "Close" => "22.05",
        "Change" => "-0.05",
        "Open" => "22.10",
        "High" => "22.20",
        "Low" => "22.05",
        "Average" => "22.13",
        "TradingShares" => "29442",
        "TransactionAmount" => "651560",
        "TransactionNumber" => "26",
        "LatestBidPrice" => "22.00",
        "LatesAskPrice" => "22.02",
        "Capitals" => "15446000",
        "NextReferencePrice" => "22.05",
        "NextLimitUp" => "24.25",
        "NextLimitDown" => "19.85"
    ]
];

// 定義要存儲 JSON 檔案的路徑
$filePath = 'tpex_data_' . date('Ymd') . '.json';

// 將抓取到的資料轉換為 JSON 格式並寫入檔案
if (file_put_contents($filePath, json_encode($response)) === false) {
    http_response_code(500);
    echo json_encode(['error' => '寫入檔案失敗']);
    exit;
}

在上述範例中,我們首先定義了 JSON 資料,然後使用 json_encode 函數將資料轉換為 JSON 格式,最後使用 file_put_contents 將其寫入指定的檔案中。

使用 unlink 刪除檔案

unlink 函數用來刪除指定的檔案。這個函數的定義如下:

unlink(string $filename, ?resource $context = null): bool

實際運用:檢查並刪除檔案

假設我們需要刪除前一天生成的 JSON 檔案,可以使用以下代碼:

// 定義要刪除的 JSON 檔案的路徑
$yesterday = new DateTime('yesterday');
$yesterdayFormatted = $yesterday->format('Ymd');
$filePath = 'tpex_data_' . $yesterdayFormatted . '.json';

if (file_exists($filePath)) {
    // 刪除檔案
    unlink($filePath);
}

在上述範例中,我們首先使用 DateTime 類別取得昨天的日期,並將其格式化為 Ymd 格式。接著檢查檔案是否存在,若存在則使用 unlink 函數刪除該檔案。

發表迴響