тогда уточню некоторый момент + то что это немного не кросплатформенно. примечание к функции на оф.сайте хватит. и все же лучше построить немного другую схему, например, если это WEB то через AjAX.
я конечно может чего-то не понял в цели нужного скрипта. но реализовать cls по средствам flush() не удалось, по крайне мере под win32. PHP: <?php for($i = 0; $i < 5; $i++) { echo $i; sleep(10); } flush(); for($i = 0; $i < 5; $i++) { echo $i; sleep(10); } ?> результат вывода: Code: D:\php5.2.5>php.exe "d:\test.php" 0123401234 D:\php5.2.5> на сколько я понимаю flush(); просто очищает свой вутренний буфер, и в случае если это web то отдает вывод, в некоторых случаях, браузеру, а так продолжает свою работу. поясните как можно использовать flush(); для реализации консольного cls?!
команда flush(); была подсказкой с моей стороны, человек просто забыл про её существование. В своём посте,как видите,я не уточнял дополнительные моменты этой проблемы. Вы неправильно делаете. Вот пример использования: PHP: for($i = 1; $i < 20; $i++){ echo $i."<br>"; ob_flush(); ob_end_clean(); flush(); } echo "Done.";
я стесняюсь спросить подсказкой к чему?! объясните что вы хотели сказать функцией flush(), то что она очистит буфер?!очистка буфера и очистка экрана консоли это разные вещи...короче поясните
объясните мне ход ваших мыслей в данном коде. ob_flush - очищает (отправляет) буфер вывода ob_end_clean - очищает буфер вывода и отключает буферизацию вывода. flush - очищает буфер вывода. что вы этим хотели показать?! и как это связано с реализацией cls, тобишь очисткой экрана? не считая кучи предупрждений и ошибок php код выполнился...но суть..он вывел 1 2 .... 19 Done. в чем суть?!
только средствами php реализовывать это не реально... используй аякс... или пиши код на яве.... --- пхп исполняется на сервере и поэтому не реально очистить экран... а если захочешь средством перезагрузки эерана... то выполнишь код снова... примитивный пример с перезагрузкой страницы
Подскажите пожалста, сам уже часов 5 наверно парюсь, есть строка, кодировка её не известна, мне надо автоматически определить кодировку и переконвертировать в windows-1251, как реализовать скрипт?)
PHP: <pre> <?php $q = 'вася РїСЂСЏРЅРёРєРѕРІ'; $s = mb_detect_encoding($q);//Определяем кодировку $q = iconv($s, 'CP1251//TRANSLIT', $q);//Декодируем echo $s . "\r\n"; echo $q . "\r\n"; ?> </pre> Но это только для стандартных ситуаций
на iconv действует нукоторое ограничение.+ не всегда mb_detect_encoding может определить кодировку. как вариант, но тоже не 100% http://popoff.donetsk.ua/text/work/libs/a/charset/ лично я для определния utf-8 использую вот это условие PHP: if (preg_match('//u', $string)) { /* у вас UTF-8 */ }
Функция определения кодировки: PHP: <?php define('LOWERCASE',3); define('UPPERCASE',1); function detect_cyr_charset($str) { $charsets = Array( 'k' => 0, 'w' => 0, 'd' => 0, 'i' => 0, 'm' => 0 ); for ( $i = 0, $length = strlen($str); $i < $length; $i++ ) { $char = ord($str[$i]); //non-russian characters if ($char < 128 || $char > 256) continue; //CP866 if (($char > 159 && $char < 176) || ($char > 223 && $char < 242)) $charsets['d']+=LOWERCASE; if (($char > 127 && $char < 160)) $charsets['d']+=UPPERCASE; //KOI8-R if (($char > 191 && $char < 223)) $charsets['k']+=LOWERCASE; if (($char > 222 && $char < 256)) $charsets['k']+=UPPERCASE; //WIN-1251 if ($char > 223 && $char < 256) $charsets['w']+=LOWERCASE; if ($char > 191 && $char < 224) $charsets['w']+=UPPERCASE; //MAC if ($char > 221 && $char < 255) $charsets['m']+=LOWERCASE; if ($char > 127 && $char < 160) $charsets['m']+=UPPERCASE; //ISO-8859-5 if ($char > 207 && $char < 240) $charsets['i']+=LOWERCASE; if ($char > 175 && $char < 208) $charsets['i']+=UPPERCASE; } arsort($charsets); return key($charsets); } ?>
данный код не верно определяет кодировку в некоторых случаях. и привиденная мною библиотека более корректно определяет кодировку, да и по сабжу больше походит.
ну с определением кодировки я разобрался, как перекодировать в windows-1251? дело в том, что я пишу icq бота с webicqlite классом, так как большинство функций про класса не требуется, данные выводятся в utf8, и я никак не могу перекодировать их в windows-1251, киньте пжлста какойнить скрипт для кодирования!
вы мои посты не видите?!я описал два метода... 1-http://popoff.donetsk.ua/text/work/libs/a/charset/ подключите библиотеку для конверта в cp1251 2-метод которым пользуюсь, тоже повзаимствованный, if (preg_match('//u', $string)) { /* у вас UTF-8 */ } в чем проблема?!совместите два метода и дейлате что хотите.
При заходе на линк курлом куки не сохраняются CURLOPT_COOKIEJAR, в HEADER куки тоже отсутствуют, хотя когда захожу браузером на линк, они (куки) устанавливаются.. Как их можно вытащить скриптом..?! Где они могут храниться..?!