在 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 函數刪除該檔案。