За последние 24 часа нас посетили 55157 программистов и 1730 роботов. Сейчас ищет 851 программист ...

Помогите срочно, пожалуйста!!!

Тема в разделе "PHP для новичков", создана пользователем AlexPebody, 20 сен 2007.

  1. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    Дык я эе весь код тут представил, у меня в точности так же!
    НЕТУ НИКАКИХ пробело или еще чего бы то нибыло!!!

    вот точный код!

    PHP:
    1.  
    2. <?
    3. function php_get_browser($agent = NULL){
    4. $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT'];
    5. $yu=array();
    6. $q_s=array("#\.#","#\*#","#\?#");
    7. $q_r=array("\.",".*",".?");
    8. $brows=parse_ini_file("php_browscap.ini",true);
    9. foreach($brows as $k=>$t){
    10.   if(fnmatch($k,$agent)){
    11.   $yu['browser_name_pattern']=$k;
    12.   $pat=preg_replace($q_s,$q_r,$k);
    13.   $yu['browser_name_regex']=strtolower("^$pat$");
    14.     foreach($brows as $g=>$r){
    15.       if($t['Parent']==$g){
    16.         foreach($brows as $a=>$b){
    17.           if($r['Parent']==$a){
    18.             $yu=array_merge($yu,$b,$r,$t);
    19.             foreach($yu as $d=>$z){
    20.               $l=strtolower($d);
    21.               $hu[$l]=$z;
    22.             }
    23.           }
    24.         }
    25.       }
    26.     }
    27.     break;
    28.   }
    29. }
    30. return $hu;
    31. }
    32. $b = php_get_browser();
    33. if ($b['ismobiledevice'])
    34. {
    35. header("Location: wap/index.php");
    36. }
    37. else
    38. {
    39. header("Location: html/index.php");
    40. }
    41. ?>
    42.  
    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

    Хоть ты тресни!!!!!!!!!!!!!!!!!!!!
     
  2. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    ПОМОГИТЕ ПЛИИИИИИИИИИИИИИИИИИЗ
     
  3. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    У меня все работает (правда пришлось parse_ini_file забить)
    в чем кодишь? (какой программой?)
     
  4. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    EditPlus

    А что значит правда пришлось parse_ini_file забить ??????
     
  5. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    $brows=parse_ini_file("php_browscap.ini",true);

    Вот.

    Это своего рода include. Так что думай дальше, как тебе быть с ним.

    P.S. Если хочешь делай редирект javascript'om меньше мучаться будешь :)
     
  6. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    Ну как сделать??? Я НЕ МОГУ БЕЗ ПАРСЕРА ИНИ ФАЙЛА, В НЕМ ВСЕ ОПИСАНИЕ!!! У меня ведь не только HTML но и WML так что ДжаваСкрипт не попрет!!!!!!!!!

    КАК СДЕЛАТЬ С ПХП ?????
     
  7. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    Да нет врятли, она возвращает массив.

    Попробуй скопировать весь текст, вставь в Блокнот, перегрузи EditPlus, затем обязательно скопируй текст из блокнота, вставь обратно в EditPlus и сохрани перезаписав старый файл.
     
  8. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    с parse_ini_file никак :)
    Ты уже сам дальше додумкивай. Причину нашли то мы :)))
     
  9. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    Да делал уже!!! Я тоже решил что ЭдитПлюс конючит, но нет!!!

    ВСТАВЬ ВЕСЬ КОД СЮДА ПЛИИИИИИИИИИЗ, Я ЕГО ОТСЮДА СКОПИРУЮ В БЛОКНОТ!!!!!!!!!!!!
     
  10. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    Да какая разница... Мне РЕШЕНИЕ НУЖНО!!! ПОМОГИТЕ ДРУГИ МОИ, ОЧЕНЬ НУЖНО, А ОТ ПАРСЕРА НИКАК, ТАМ ВСЕ ОПИСАНИЕ, ЕСЛИ ПАРСЕР УБРАТЬ, СМЫСЛА В УСЛОВИИ ВООБЩЕ НЕТ!!!!!


    КАК ЕЩЕ МОЖНО СДЕЛАТЬ ??????????
     
  11. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    S.t.A.M.
    Тут редактор ни при чем
    А по твоему функция каким чудом вернет тебе массив если не считает данные из ini-файла?
     
  12. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    AlexPebody
    какая кодировка файла? Не utf-8, случаем?
     
  13. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    PHP:
    1. <?
    2.  function php_get_browser($agent = NULL){
    3.  $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT'];
    4.  $yu=array();
    5.  $q_s=array("#\.#","#\*#","#\?#");
    6.  $q_r=array("\.",".*",".?");
    7.  $brows=array (1,2,3,4,5);//parse_ini_file("php_browscap.ini",true);
    8.  foreach($brows as $k=>$t){
    9.    if(fnmatch($k,$agent)){
    10.    $yu['browser_name_pattern']=$k;
    11.    $pat=preg_replace($q_s,$q_r,$k);
    12.    $yu['browser_name_regex']=strtolower("^$pat$");
    13.      foreach($brows as $g=>$r){
    14.        if($t['Parent']==$g){
    15.          foreach($brows as $a=>$b){
    16.            if($r['Parent']==$a){
    17.              $yu=array_merge($yu,$b,$r,$t);
    18.              foreach($yu as $d=>$z){
    19.                $l=strtolower($d);
    20.                $hu[$l]=$z;
    21.              }
    22.            }
    23.          }
    24.        }
    25.      }
    26.      break;
    27.    }
    28.  }
    29.  return $hu;
    30.  }
    31.  $b = php_get_browser();
    32.  if ($b['ismobiledevice'])
    33.  {
    34.  header("Location: wap/index.php");
    35.  }
    36.  else
    37.  {
    38.  header("Location: html/index.php");
    39.  }
    40.  ?>
    Вначале попробуй запустить так (у меня так работало), если пойдет верни на место функцию parse_ini_file("php_browscap.ini",true); и посмотри
     
  14. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    Да так пашет!!! С ПАРСЕРОМ НЕ ПАШЕТ!!!!!!!!!!!!

    В wap/index.php кодировка utf-8 естесственно!!!!!!!!


    КАК РАЗРУЛИТЬ??????????????????????????????
     
  15. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    PHP:
    1. <?
    2.   function php_get_browser($agent = NULL){
    3.   $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT'];
    4.   $yu=array();
    5.   $q_s=array("#\.#","#\*#","#\?#");
    6.   $q_r=array("\.",".*",".?");
    7.   $brows=array (1,2,3,4,5);
    8.   $brows=parse_ini_file("php_browscap.ini",true);
    9.  
    10.   foreach($brows as $k=>$t){
    11.    if(fnmatch($k,$agent)){
    12.    $yu['browser_name_pattern']=$k;
    13.    $pat=preg_replace($q_s,$q_r,$k);
    14.    $yu['browser_name_regex']=strtolower("^$pat$");
    15.      foreach($brows as $g=>$r){
    16.        if($t['Parent']==$g){
    17.          foreach($brows as $a=>$b){
    18.            if($r['Parent']==$a){
    19.              $yu=array_merge($yu,$b,$r,$t);
    20.              foreach($yu as $d=>$z){
    21.                $l=strtolower($d);
    22.                $hu[$l]=$z;
    23.              }
    24.            }
    25.          }
    26.        }
    27.      }
    28.      break;
    29.    }
    30.   }
    31.   return $hu;
    32.   }
    33.   $b = php_get_browser();
    34.   if ($b['ismobiledevice'])
    35.   {
    36.   header("Location: wap/index.php");
    37.   }
    38.   else
    39.   {
    40.   header("Location: html/index.php");
    41.   }
    42.   ?>
    У меня все отлично работает. Код выше.
     
  16. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    попробуй сохранить в utf-8 без BOM , если header ещё не работает
     
  17. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    Это откуда?

    Точный код функции вот:

    PHP:
    1.  
    2. function php_get_browser_i($agent = NULL){
    3. $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT'];
    4. $yu=array();
    5. $q_s=array("#\.#","#\*#","#\?#");
    6. $q_r=array("\.",".*",".?");
    7. $brows=parse_ini_file("php_browscap.ini",true);
    8. foreach($brows as $k=>$t){
    9.   if(fnmatch($k,$agent)){
    10.   $yu['browser_name_pattern']=$k;
    11.   $pat=preg_replace($q_s,$q_r,$k);
    12.   $yu['browser_name_regex']=strtolower("^$pat$");
    13.     foreach($brows as $g=>$r){
    14.       if($t['Parent']==$g){
    15.         foreach($brows as $a=>$b){
    16.           if($r['Parent']==$a){
    17.             $yu=array_merge($yu,$b,$r,$t);
    18.             foreach($yu as $d=>$z){
    19.               $l=strtolower($d);
    20.               $hu[$l]=$z;
    21.             }
    22.           }
    23.         }
    24.       }
    25.     }
    26.     break;
    27.   }
    28. }
    29. return $hu;
    30. }
    31.  
    Если я поменяю там что то не факт что работать будет, т.к. функция взята с сайта php.net эта функция заставляет работать модуль, не изменяя конфиг апача!!!
     
  18. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    Непонял, напиши точнее, что сделать???
     
  19. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    скопировал у S.T.A.M
    спроси у него )
    Удали, результат не изменится
     
  20. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    ну как не изменится.... вот это НЕ работает:

    PHP:
    1.  
    2. <?
    3.    function php_get_browser($agent = NULL){
    4.    $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT'];
    5.    $yu=array();
    6.    $q_s=array("#\.#","#\*#","#\?#");
    7.    $q_r=array("\.",".*",".?");
    8.    $brows=parse_ini_file("php_browscap.ini",true);
    9.    foreach($brows as $k=>$t){
    10.    if(fnmatch($k,$agent)){
    11.    $yu['browser_name_pattern']=$k;
    12.    $pat=preg_replace($q_s,$q_r,$k);
    13.    $yu['browser_name_regex']=strtolower("^$pat$");
    14.      foreach($brows as $g=>$r){
    15.        if($t['Parent']==$g){
    16.          foreach($brows as $a=>$b){
    17.            if($r['Parent']==$a){
    18.              $yu=array_merge($yu,$b,$r,$t);
    19.              foreach($yu as $d=>$z){
    20.                $l=strtolower($d);
    21.                $hu[$l]=$z;
    22.              }
    23.            }
    24.          }
    25.        }
    26.      }
    27.      break;
    28.    }
    29.    }
    30.    return $hu;
    31.    }
    32.    $b = php_get_browser();
    33.    if ($b['ismobiledevice'])
    34.    {
    35.    header("Location: wap/index.php");
    36.    }
    37.    else
    38.    {
    39.    header("Location: html/index.php");
    40.    }
    41.    ?>
    42.  
    ГОВОРИТ: 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

    ЧЕ ЗА ЕРУНДА!!!!!!!!!!!!!!!!!!!!!!!!! :(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(
     
  21. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    AlexPebody
    не юзал EditPlus, просто посмотри способы сохранения файла в юникоде (c BOM и без него)
     
  22. Kanat Taumenov

    Kanat Taumenov Активный пользователь

    С нами с:
    16 сен 2007
    Сообщения:
    16
    Симпатии:
    0
    Адрес:
    Казахстан, Уральск
    в некоторых программах есть "фича" вставлять первые три символа указывающие что файл в unicode
    попробуй посмотреть каким нить редактором не поддерживающим юникод.
    например редактор Far-а
     
  23. AlexPebody

    AlexPebody Активный пользователь

    С нами с:
    14 янв 2007
    Сообщения:
    247
    Симпатии:
    0
    Да я даже отсюда копирую в блокнот КОД НЕ ПАШЕТ!!!!!!!!!
     
  24. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Kanat Taumenov
    Byte-order mark -- это не фича редактоов. Это входит в спецификацию юникода
     
  25. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    AlexPebody
    я лишний раз перепроверил. Работает. Удалите пробелы, если есть перед <?
    т.к. все работает.