|
|
автор: Юный Хакер (20.08.2005 в 14:55) |
|
|
для: cheops
(20.08.2005 в 14:50)
| | Человеческое спасибище))) | |
|
|
|
|
|
|
|
для: cheops
(20.08.2005 в 14:19)
| | Для первого файла можно использоваться следующий скрипт
<?php
$filename = "user.db";
$fd = fopen($filename,"r");
$buffer = fread($fd,filesize($filename));
fclose($fd);
$i = 1;
while(true)
{
$begin = ($i - 1)*68;
$pos = ord(substr($buffer,$begin,1));
$arr['name'][] = substr($buffer,$begin + 1,$pos);
$pos = ord(substr($buffer,$begin + 20 + 1, 1));
$arr['surname'][] = substr($buffer,$begin + 20 + 2, $pos);
$pos = ord(substr($buffer,$begin + 20 + 40 + 4,1));
$arr['age'][] = $pos;
$i++;
if(($i - 1)*68 > strlen($buffer)) break;
}
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: Юный Хакер
(20.08.2005 в 14:26)
| | Хм... ну что-то начинает прорисовываться...
<?php
$filename = "user.db";
$fd = fopen($filename,"r");
$buffer = fread($fd,filesize($filename));
fclose($fd);
$i = 1;
while(true)
{
$begin = ($i - 1)*62;
$pos = ord(substr($buffer,$begin,1));
$arr['name'][] = substr($buffer,$begin + 1,$pos);
$pos = ord(substr($buffer,$begin + 20 + 1, 1));
$arr['surname'][] = substr($buffer,$begin + 20 + 2, $pos);
// $pos = ord(substr($buffer,64,1));
// $arr['age'][] = $pos;
$i++;
if(($i - 1)*62 > strlen($buffer)) break;
}
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
|
| |
|
|
|
|
автор: Юный Хакер (20.08.2005 в 14:26) |
|
|
для: cheops
(20.08.2005 в 14:19)
| | Спасибо))
вот еще один файлик, без integer=) | |
|
|
|
|
|
|
|
для: Юный Хакер
(20.08.2005 в 13:09)
| | Судя по всему записи разделяются чем-то... вы бы не могли без Integer в конце записать файл? Пока у меня получилось вот что
<?php
$filename = "user.db";
$fd = fopen($filename,"r");
$buffer = fread($fd,filesize($filename));
fclose($fd);
$pos = ord(substr($buffer,0,1));
$arr['name'][] = substr($buffer,1,$pos);
$pos = ord(substr($buffer,21,1));
$arr['surname'][] = substr($buffer,22,$pos);
$pos = ord(substr($buffer,64,1));
$arr['age'][] = $pos;
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
|
но чтобы загнать это в цикл, нужно определить сколько символов отводится под одну запись. | |
|
|
|
|
автор: Юный Хакер (20.08.2005 в 13:09) |
|
|
для: cheops
(20.08.2005 в 13:05)
| | А я не знаю)))
Вроде, друг за другом.
=)) | |
|
|
|
|
|
|
|
для: Юный Хакер
(20.08.2005 в 12:23)
| | Pascal их кладёт друг за другом или помещает между ними байты-разделители? | |
|
|
|
|
автор: Юный Хакер (20.08.2005 в 12:55) |
|
|
для: Юный Хакер
(20.08.2005 в 12:23)
| | А вот и файлик)))
В файле 3 записи...
)) | |
|
|
|
|
автор: Юный Хакер (20.08.2005 в 12:23) |
|
|
для: cheops
(19.08.2005 в 22:19)
| | Да, бинарный файл=) | |
|
|
|
|
|
|
|
для: Юный Хакер
(19.08.2005 в 21:17)
| | Имеется ввиду бинарный файл? А нельзя ли его прикрепить к теме, чтобы потестировать код разборщика? | |
|
|
|
|