Вопрос № 31429: Привет эксперты. Я хотел узнать как можно писать в файл средставми PHP.
Тоесть как писать-то я знаю... даже как ситать заню :)
А вот как писать в файл если я хочу использовать его как бинарный. Тоесть:
если по простому записать ...
Вопрос № 31.429
Привет эксперты. Я хотел узнать как можно писать в файл средставми PHP.
Тоесть как писать-то я знаю... даже как ситать заню :)
А вот как писать в файл если я хочу использовать его как бинарный. Тоесть:
если по простому записать в файл допустим так
$i = 1;
fwrite($File, $i);
, то после открытия файла блокнотом увидим что в нём число 1!!!
А мне нужно записать так чтобы туда записался байт содержимое которого число 1. Думаю понятно объяснил что мне нужно.
Отправлен: 14.12.2005, 08:27
Вопрос задал: k0r@l (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Samum
Здравствуйте, Алексей Коржов Павлович!
Открываете файл в бинарном режиме (добавляете буковку 'b' к модификатору режима - 'wb').
Далее пишите в него функцией fwrite. Если хотите записать байт 1, то писать надо так:
fwrite($f, chr(1));
Т.е. нужно использовать функции chr() и ord() для каждого символа строки.
--------- Если бы программистам за их ошибки отрывали части тела, то в конце концов им пришлось бы использовать голову!
Ответ отправил: Samum (статус: Специалист)
Отправлен: 14.12.2005, 09:44
Отвечает: Ilya
Здравствуйте, Алексей Коржов Павлович!
Чтобы читать чайл как бинарный (или писать в файл как в бинарный) нужно при открытии просто добавить флаг "b" например
$fp=fopen("file.exe","wb");
флаг w здесь обычное открытие на чтение, и b это собственно "добавочный" флажек того, чтобы открыть файл в бинарном режиме.
$i=0x01;
fwrite($fp,$i);
fclose($fp);
--------- no pain - no game
Ответ отправил: Ilya (статус: 1-ый класс)
Отправлен: 14.12.2005, 11:25
Отвечает: Константин
Здравствуйте, Алексей Коржов Павлович!
там кажется при открытии файла надо указать что читать его надо как бинарный, как в С/С++
Из PHPManual:
..you can also use 'b' to force binary mode, which will not translate your data. To use these flags, specify either 'b' or 't' as the last character of the mode parameter.
т.е. писать так: fopen('file', 'wb'); //запись в бинарном режиме
Ответ отправил: Константин (статус: 1-ый класс)
Отправлен: 15.12.2005, 16:17