Запись и чтение массива из файла
Запись и чтение массива из файлаСегодня я хочу показать как можно хранить массив в файле. Идея очень простая: сериализуем массив — приводим его к виду строки, потом записываем в файл. Получить массив обратно также просто — получаем строку из файла и обратно приводим ее к виду массива. Для преобразования массива в строку и обратно будем использовать две php функции — serialize и unserialize.
Приступим к коду, он оформлен в виде двух функций и подробно прокомментирован:
/**
* Запись массива в файл
*/
function writeArrayInFile($testArray){
$serArray = serialize($testArray); // преобразовываем массив в строку
$file = fopen ("array.txt","w+"); // открываем файл, если надо то создаем
fputs($file, $serArray); // записываем в него строку
fclose($file); // закрываем файл
}
/**
* Чтение массива из файл
*/
function readArrayInFile($fileName){
$file = fopen($fileName, 'r'); // открываем файл
$str = "";
// считываем все из файла
while (($buffer = fgets($file, 128)) !== false) {
$str .= $buffer;
}
$array = unserialize($str); // преобразовываем строку в массив
return $array;
}
И пример использования:
// пример использования
$testArray = array(1, 2, 3, 'five', 'six'); // тестовый массив
//writeArrayInFile($testArray); // записываем в файл
$array = readArrayInFile('array.txt'); // чтение из файла
Комментарии:
Нету комментариев для вывода...