Бинарные файлы представляют собой последовательность символов длиной один байт, нумерация которых начинается с нуля. В конце файла стоит метка EOF – End Of File.
Объявляется бинарный файл так же, как и текстовый:
($fp = fopen(“D:/User/my_file.dat”, “wb”)) //открыт для записи
or die(“Невозможно открыть файл”);
где $f – дескриптор файла,
wb – режим открытия бинарного файла – для записи.
Таким образом, расширение имени бинарного файла - .dat, в режиме его открытия используется буква b (binary):
rb – чтение,
wb – запись,
ab – добавление в конец файла,
r+b - чтение с обновлением (rb + wb),
w+b - запись с обновлением,
a+b - добавление с обновлением.
Внимание! В бинарных файлах отсутствует понятие строки (ESC-последовательность/n не интерпретируется). Запись и чтение из них осуществляется побайтно (посимвольно):
($fp = fopen("C:/User/my_bin_file.dat", "wb")) //открыт для записи
or die("Невозможно открыть файл");
$str="abcdefghijklmnopqrstu";
fwrite($fp, $str);
$str="0123456789";
fwrite($fp, $str);
$str="абвгдежзиклмн";
fwrite($fp, $str);
fclose($fp); // закрытие файла
Структура созданного файла:
Бинарный файл читается или посимвольноfgetc(), или поблочноfgets(),fread(), или целикомfile_get_contents():
посимвольное чтение из файла:
($fp = fopen(“D:/User/my_bin_file.dat”, “rb”)) //открыт для чтения
or die(“Невозможно открыть файл”);
while (!feof($fp))
{
$chr=fgetc($fp); //посимвольное чтение из файла
echo $chr;
}
echo “<BR>”;
fclose($fp); // закрытие файла
поблочное чтение из файла:
($fp = fopen(“D:/User/my_bin_file.dat”, “rb”)) //открыт для чтения