Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Структурный файл в php   Найти похожие ветки 

 
Кто б сомневался ©   (2010-04-12 00:37) [0]

Я что то не пойму, точнее не найду, как в php можно создать структурный бинарный файл?
нужно создать файл из записей типа

Trec = packed record
 MyStr1: string;  // Длина фиксированная
 MyStr2: string;  // Длина фиксированная
 Num: integer;
end;  

Если такого нет, то как можно сохранить подобные данные в файле? Их потом нужно будет искать и заменять (структуры) не переписывая файл. Поэтому размер структуры должен быть фиксированный.
Подскажите pls кто знает.


 
silver ©   (2010-04-12 00:39) [1]

Num - наверное еще и номер записи
да.. а тут про воид спорят


 
Кто б сомневался ©   (2010-04-12 00:42) [2]


> silver ©   (12.04.10 00:39) [1]


Num произвольное число.
Знаю что можно в ini файл писать, но это медленно будет работать.
Или может лучше сделать win cgi exe и потом вызывать из php?


 
silver ©   (2010-04-12 00:49) [3]

mysql, не?
если нет, то по какой причине?


 
silver ©   (2010-04-12 00:50) [4]

есть serialize, но не знаю, подойдет ли тут


 
Кто б сомневался ©   (2010-04-12 00:51) [5]


> silver ©   (12.04.10 00:49) [3]


Нет. Т.к. там особо нечего хранить. Это будет временный файл.


 
silver ©   (2010-04-12 00:54) [6]

тогда самому писать
а может и есть в библиотеках
но писать там строк 50


 
palva ©   (2010-04-12 01:01) [7]

Упаковывать в строку и выводить строку в файл.
Функции pack, unpack


 
Kerk ©   (2010-04-12 01:01) [8]

Структуру в формате JSON в файл сохраняй


 
McSimm ©   (2010-04-12 01:12) [9]

Обычный файл. Позиционирование fseek. Чтение, запись строк. Число для простоты тоже можно писать как строку, только форматированную под фиксированное число символов.
Какие тут могут быть сложности ?


 
McSimm ©   (2010-04-12 01:15) [10]


> Функции pack, unpack

В общем случае - то, что надо. Но для простого record можно обойтись.


 
Кто б сомневался ©   (2010-04-12 01:38) [11]

Я думал чтобы это работало как можно быстрее. Тут еще дело в том, что exe  должен понимать этот файл. Хотел организовать это в виде структур и быстро и удобно и просто.


> Обычный файл. Позиционирование  fseek. Чтение, запись строк.
>  


Муторно это. Потом парсить надо,--в массивы php заводить.


 
silver ©   (2010-04-12 01:58) [12]


> McSimm ©   (12.04.10 01:12) [9]

сначала и думал об этом


> Я думал чтобы это работало как можно быстрее. Тут еще дело
> в том, что exe  должен понимать этот файл. Хотел организовать
> это в виде структур и быстро и удобно и просто.

не бывает в мире идилии :-)


> Муторно это. Потом парсить надо,--в массивы php заводить.

вариантов нет


 
silver ©   (2010-04-12 02:09) [13]

произвольный доступ к записям нужен?
подозреваю, что да
тогда - xml, или таки mysql


 
Дмитрий С ©   (2010-04-12 02:50) [14]

см функцию pack - это то, что тебе нужно


 
McSimm ©   (2010-04-12 14:43) [15]


> Муторно это. Потом парсить надо,--в массивы php заводить.

Тогда я не понял задачу.
Открыть, спозиционировать, прочитать три строки (или одну плюс unpack). Открыть, спозиционировать, записать три строки (или одну pack)
Что парсить ?


> тогда - xml

Откуда у xml произвольный доступ ? Как в xml записать данные в 37588 элемент?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.077 c
15-1274974724
@!!ex
2010-05-27 19:38
2010.08.27
Как правильно выкупать доменное имя?


2-1274791952
DROWSY
2010-05-25 16:52
2010.08.27
Как симмитировать нажатие эскейпа на гриде?


2-1271183717
dixa
2010-04-13 22:35
2010.08.27
подстановка значения в созданный тип


15-1266013815
Юрий
2010-02-13 01:30
2010.08.27
С днем рождения ! 13 февраля 2010 суббота


15-1273613051
bd
2010-05-12 01:24
2010.08.27
usb hdd перестал определяться





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский