Дык я эе весь код тут представил, у меня в точности так же! НЕТУ НИКАКИХ пробело или еще чего бы то нибыло!!! вот точный код! PHP: <? function php_get_browser($agent = NULL){ $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT']; $yu=array(); $q_s=array("#\.#","#\*#","#\?#"); $q_r=array("\.",".*",".?"); $brows=parse_ini_file("php_browscap.ini",true); foreach($brows as $k=>$t){ if(fnmatch($k,$agent)){ $yu['browser_name_pattern']=$k; $pat=preg_replace($q_s,$q_r,$k); $yu['browser_name_regex']=strtolower("^$pat$"); foreach($brows as $g=>$r){ if($t['Parent']==$g){ foreach($brows as $a=>$b){ if($r['Parent']==$a){ $yu=array_merge($yu,$b,$r,$t); foreach($yu as $d=>$z){ $l=strtolower($d); $hu[$l]=$z; } } } } } break; } } return $hu; } $b = php_get_browser(); if ($b['ismobiledevice']) { header("Location: wap/index.php"); } else { header("Location: html/index.php"); } ?> Warning: Cannot modify header information - headers already sent by (output started at w:\home\localhost\www\index.php:1) in w:\home\localhost\www\index.php on line 38 Хоть ты тресни!!!!!!!!!!!!!!!!!!!!
$brows=parse_ini_file("php_browscap.ini",true); Вот. Это своего рода include. Так что думай дальше, как тебе быть с ним. P.S. Если хочешь делай редирект javascript'om меньше мучаться будешь
Ну как сделать??? Я НЕ МОГУ БЕЗ ПАРСЕРА ИНИ ФАЙЛА, В НЕМ ВСЕ ОПИСАНИЕ!!! У меня ведь не только HTML но и WML так что ДжаваСкрипт не попрет!!!!!!!!! КАК СДЕЛАТЬ С ПХП ?????
Да нет врятли, она возвращает массив. Попробуй скопировать весь текст, вставь в Блокнот, перегрузи EditPlus, затем обязательно скопируй текст из блокнота, вставь обратно в EditPlus и сохрани перезаписав старый файл.
Да делал уже!!! Я тоже решил что ЭдитПлюс конючит, но нет!!! ВСТАВЬ ВЕСЬ КОД СЮДА ПЛИИИИИИИИИИЗ, Я ЕГО ОТСЮДА СКОПИРУЮ В БЛОКНОТ!!!!!!!!!!!!
Да какая разница... Мне РЕШЕНИЕ НУЖНО!!! ПОМОГИТЕ ДРУГИ МОИ, ОЧЕНЬ НУЖНО, А ОТ ПАРСЕРА НИКАК, ТАМ ВСЕ ОПИСАНИЕ, ЕСЛИ ПАРСЕР УБРАТЬ, СМЫСЛА В УСЛОВИИ ВООБЩЕ НЕТ!!!!! КАК ЕЩЕ МОЖНО СДЕЛАТЬ ??????????
S.t.A.M. Тут редактор ни при чем А по твоему функция каким чудом вернет тебе массив если не считает данные из ini-файла?
PHP: <? function php_get_browser($agent = NULL){ $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT']; $yu=array(); $q_s=array("#\.#","#\*#","#\?#"); $q_r=array("\.",".*",".?"); $brows=array (1,2,3,4,5);//parse_ini_file("php_browscap.ini",true); foreach($brows as $k=>$t){ if(fnmatch($k,$agent)){ $yu['browser_name_pattern']=$k; $pat=preg_replace($q_s,$q_r,$k); $yu['browser_name_regex']=strtolower("^$pat$"); foreach($brows as $g=>$r){ if($t['Parent']==$g){ foreach($brows as $a=>$b){ if($r['Parent']==$a){ $yu=array_merge($yu,$b,$r,$t); foreach($yu as $d=>$z){ $l=strtolower($d); $hu[$l]=$z; } } } } } break; } } return $hu; } $b = php_get_browser(); if ($b['ismobiledevice']) { header("Location: wap/index.php"); } else { header("Location: html/index.php"); } ?> Вначале попробуй запустить так (у меня так работало), если пойдет верни на место функцию parse_ini_file("php_browscap.ini",true); и посмотри
Да так пашет!!! С ПАРСЕРОМ НЕ ПАШЕТ!!!!!!!!!!!! В wap/index.php кодировка utf-8 естесственно!!!!!!!! КАК РАЗРУЛИТЬ??????????????????????????????
PHP: <? function php_get_browser($agent = NULL){ $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT']; $yu=array(); $q_s=array("#\.#","#\*#","#\?#"); $q_r=array("\.",".*",".?"); $brows=array (1,2,3,4,5); $brows=parse_ini_file("php_browscap.ini",true); foreach($brows as $k=>$t){ if(fnmatch($k,$agent)){ $yu['browser_name_pattern']=$k; $pat=preg_replace($q_s,$q_r,$k); $yu['browser_name_regex']=strtolower("^$pat$"); foreach($brows as $g=>$r){ if($t['Parent']==$g){ foreach($brows as $a=>$b){ if($r['Parent']==$a){ $yu=array_merge($yu,$b,$r,$t); foreach($yu as $d=>$z){ $l=strtolower($d); $hu[$l]=$z; } } } } } break; } } return $hu; } $b = php_get_browser(); if ($b['ismobiledevice']) { header("Location: wap/index.php"); } else { header("Location: html/index.php"); } ?> У меня все отлично работает. Код выше.
Это откуда? Точный код функции вот: PHP: function php_get_browser_i($agent = NULL){ $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT']; $yu=array(); $q_s=array("#\.#","#\*#","#\?#"); $q_r=array("\.",".*",".?"); $brows=parse_ini_file("php_browscap.ini",true); foreach($brows as $k=>$t){ if(fnmatch($k,$agent)){ $yu['browser_name_pattern']=$k; $pat=preg_replace($q_s,$q_r,$k); $yu['browser_name_regex']=strtolower("^$pat$"); foreach($brows as $g=>$r){ if($t['Parent']==$g){ foreach($brows as $a=>$b){ if($r['Parent']==$a){ $yu=array_merge($yu,$b,$r,$t); foreach($yu as $d=>$z){ $l=strtolower($d); $hu[$l]=$z; } } } } } break; } } return $hu; } Если я поменяю там что то не факт что работать будет, т.к. функция взята с сайта php.net эта функция заставляет работать модуль, не изменяя конфиг апача!!!
ну как не изменится.... вот это НЕ работает: PHP: <? function php_get_browser($agent = NULL){ $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT']; $yu=array(); $q_s=array("#\.#","#\*#","#\?#"); $q_r=array("\.",".*",".?"); $brows=parse_ini_file("php_browscap.ini",true); foreach($brows as $k=>$t){ if(fnmatch($k,$agent)){ $yu['browser_name_pattern']=$k; $pat=preg_replace($q_s,$q_r,$k); $yu['browser_name_regex']=strtolower("^$pat$"); foreach($brows as $g=>$r){ if($t['Parent']==$g){ foreach($brows as $a=>$b){ if($r['Parent']==$a){ $yu=array_merge($yu,$b,$r,$t); foreach($yu as $d=>$z){ $l=strtolower($d); $hu[$l]=$z; } } } } } break; } } return $hu; } $b = php_get_browser(); if ($b['ismobiledevice']) { header("Location: wap/index.php"); } else { header("Location: html/index.php"); } ?> ГОВОРИТ: Warning: Cannot modify header information - headers already sent by (output started at w:\home\localhost\www\index.php:1) in w:\home\localhost\www\index.php on line 38 ЧЕ ЗА ЕРУНДА!!!!!!!!!!!!!!!!!!!!!!!!!
в некоторых программах есть "фича" вставлять первые три символа указывающие что файл в unicode попробуй посмотреть каким нить редактором не поддерживающим юникод. например редактор Far-а
AlexPebody я лишний раз перепроверил. Работает. Удалите пробелы, если есть перед <? т.к. все работает.