Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Различие текстового и бинарного режимов. (r-tem)
Author Message
r-tem
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Apr 04, 2007 3:00 pm (написано за 3 минуты 41 секунду)
   Post subject: Различие текстового и бинарного режимов.
Reply with quote

PHP 5.2, WinXP, Apache 2.0
Из книги попробовал следующий код:
Code (php): скопировать код в буфер обмена
<?php
## Различие текстового и бинарного режимов.
// Получает в параметрах строку и возвращает через пробел коды
// символов, из которых она состоит.
function makeHex($st) { 
  for ($i=0; $i<strlen($st); $i++)
    $hex[] = sprintf (www.php.net/sprintf)("%02X", ord (www.php.net/ord)($st[$i]));
  return join (www.php.net/join)(" ", $hex);
}

// Открываем файл скрипта разными способами
$f = fopen (www.php.net/fopen)(__FILE__, "rb")// бинарный режим
echo (www.php.net/echo) makeHex(fgets (www.php.net/fgets)($f, 100)), "<br>\n";

$f = fopen (www.php.net/fopen)(__FILE__, "rt"); // текстовый режим
echo (www.php.net/echo) makeHex(fgets (www.php.net/fgets)($f, 100)), "<br>\n";
?>
Пробовал под WinXP локально и на хостинге под Linux ...Не работает переключение режимов(текстовый/бинарный) в функции fopen...
Результат на обеих операционках один и тотже:
Quote:
3C 3F 70 68 70 0A
3C 3F 70 68 70 0A
Back to top
r-tem
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Apr 26, 2007 7:50 am (спустя 21 день 16 часов 50 минут; написано за 2 минуты 59 секунд)
   Post subject: Разобрался...
Reply with quote

Разобрался...Все дело было в мультибайтовой кодировке UTF-8...strlen и подобные функции не понимают мультибайтовые символы, надо менять на mb_strlen, mb_strpos, mb_... и т.д.

Вопрос решен, тему можно закрыть.
Back to top
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML