|
|
|
| Здравствуйте. Помогите прочитать int длиной 2 байта из файла. Насколько я понял, в ПХП из файла читается только строка. Спасибо. | |
|
|
|
|
|
|
|
для: K_Serg
(09.03.2006 в 14:58)
| |
<?
$fp=fopen("file.txt", "r");
$bytes=fgets($fp, 2);
echo $bytes;
?>
|
| |
|
|
|
|
|
|
|
для: Loki
(09.03.2006 в 15:39)
| | Прошу прощения, может некорректно задал вопрос. Читать нужно из бинарного файла.
fgets - получает строку из 2-х символов. А требуется сообственно одно целое число, занимающее 2 байта. (первые два байта в файле - количество записей, которые и хочется получить). В моем конкретном случае это chr(153)+chr(1). | |
|
|
|
|
|
|
|
для: K_Serg
(09.03.2006 в 15:53)
| |
<?
$fp=fopen("file.txt", "r");
$bytes=fgets($fp, 2);
$lowbyte = ord($bytes{0});
$highbyte = ord($bytes{1});
echo $lowbyte + 256 * $highbyte;
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(09.03.2006 в 17:14)
| | Сам о таком подумал, но подумал что это уж слишком "в лоб":) Видимо - зря:) | |
|
|
|
|
|
|
|
для: Loki
(09.03.2006 в 17:33)
| | Есть еще unpack(), но я ему как-то не очень доверяю. А так всё прибито гвоздями. )) | |
|
|
|
|
|
|
|
для: Trianon
(09.03.2006 в 17:14)
| | Спасибо, оно самое. Вдруг кому еще понадобится. Только пришлось чуть подправить, а то выдавало "00" - строка получалась.
$nelem=fgets($f1,2);
$lowbyte = (int) ord($nelem{0});
$highbyte = (int) ord($nelem{1});
echo $lowbyte + 256 * $highbyte;
|
| |
|
|
|