php把數組寫入檔案,通過序列和反序列實現。請看代碼
$file="./data/file.cache";
file_put_contents($file,serialize($array));//寫入緩衝
| 代碼如下 |
複製代碼 |
<?php $file="./data/file.cache"; $array = array("count" => "3000", "num" =>"300"); //緩衝 file_put_contents($file,serialize($array));//寫入緩衝 ?> <? $file="./data/file.cache"; $handle = fopen($file, "r"); $cacheArray = unserialize(fread($handle, filesize ($file))); print_r($cacheArray); ?> |
//將一個測試的數組寫入一個PHP檔案:
| 代碼如下 |
複製代碼 |
<?php //要寫入PHP檔案的數組 $write_array = array( '1' => 'oneone', '2' => 'two', '3' => 'three', '4' => 'four', '5' => 'five' ); //字串處理 $string_start = "<?phpn"; $string_process = var_export($write_array, TRUE); $string_end = "n?>"; $string = $string_start.$string_process.$string_end; //開始寫入檔案 echo file_put_contents('test_array.php', $string); ?> |
這裡用到了兩個函數:
| 代碼如下 |
複製代碼 |
1,var_export(): |
·var_export — 用來輸出或返回一個變數的字串表示,它和 var_dump() 的區別是,var_export() 可以用來返回關於傳遞給該函數的變數的結構資訊,並且其返回的表示是合法的 PHP 代碼如果 “echo $string_process;”,則可以看到輸出結果:
| 代碼如下 |
複製代碼 |
array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )
|
而它就是我們要寫入 test_array.php 檔案的內容(除去 php 標籤);
·var_dump() 函數用來列印變數的相關資訊,它只用來“列印”,而不會傳回值,它的原型是 void var_dump(……),我們來 “var_dump($string_process);”,則可以看到輸出結果:
| 代碼如下 |
複製代碼 |
string(86) "array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )"
|
可以看到輸出的string(86) “…”,再一次說明了 var_export() 返回的是一個字串。