include qqq.php

Тема в разделе "Программирование", создана пользователем vectorserver22, 05.11.2009.

  1. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Всем привет, в Пхп не шарю, помогите, хочу чтобы скрипт с др сайта подгужался на мой сайт,
    пишу
    Код (PHP):
    1. <?php include "http://www,site.ru/rгггг.php"; ?>

    но выдает ошибку
    Помогите пожалуйста!!!
     
  2.  
  3. alex0603
    Offline

    alex0603 специалист

    Регистрация:
    25.11.2007
    Сообщения:
    417
    Симпатии:
    39
    Пол:
    Мужской
    www,si запятую на точку поменяй))
    rгггг.php" только англ буквы
     
  4. Offline

    _voland_ специалист

    Регистрация:
    12.04.2008
    Сообщения:
    2 173
    Симпатии:
    102
    Пол:
    Мужской
    Вообще то аргументом команды инклуд является файл а не адрес (типа "www/http/site/file.php")
     
  5. alex0603
    Offline

    alex0603 специалист

    Регистрация:
    25.11.2007
    Сообщения:
    417
    Симпатии:
    39
    Пол:
    Мужской
    _voland_, да и это тоже...
    не углядел сначало
     
    vectorserver22 нравится это.
  6. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    http://www,site.ru/rгггг.php это всеголишь пример))
    мне нужно просто с др сайта к себе скрипт подключить
    сам скрипт у меня пахать не будет т.к он стоит на др сервере,а сервер на локальной сети и просто выдает инфу в инет вот код
    Код (PHP):
    1. <?php
    2.  
    3. $file=file("http://10.0.0.11/_УЛЬТРА-Плейлист/broad.int");
    4.  
    5. //$str="03020813595500Dave Koz - Know You By Heart D:\МУЗЫКА\Инстр\Dave Koz - Know You By Heart.mp3 00:03:29";
    6.  
    7. $keywords = preg_split("/\D:+/", $file[0]);
    8.  
    9. $keywords1 = preg_split("/[0-9]+/", $keywords[0]);
    10.  
    11. $song=$keywords1[1];
    12.  
    13. if(empty($song)){ $song="On-Line"; }
    14.  
    15. echo "&nbsp;<a class='forum_link_01' href='http://80.64.18.105:8000/listen.pls'>".$song."</a>&nbsp;<a href='?l=pl'>:: Далее в эфире </a><a href='http://80.64.18.105:8000/listen.pls'>:: Слушать Online</a>";
    16.  
    17. ?>
     
  7. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    эмм.... если я все правильно понял... то для начала вам необходимо будет подключиться к удаленному серверу, аля фтп-манагер, и только потом вы сможете подключить пхп-файл.
     
  8. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    разобпался))
    Но вот такая прблема с рускими буквами, как зделать чтбы кирилица поддерживалась
    Код (PHP):
    1. <?php
    2. $scdef  =       "Мое сетевое радио";
    3.  
    4. $scip   =       "10.1.27.145";
    5. $scport =       "8000";
    6. $scpass =       "****";
    7.  
    8. $refreshrate =  "200";
    9.  
    10. $scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 30);
    11.  if(!$scfp) {
    12.   $scsuccs=1;
    13. echo''.$scdef.' is Offline';
    14.  }
    15. if($scsuccs!=1){
    16.  fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
    17.  while(!feof($scfp)) {
    18.   $page .= fgets($scfp, 1000);
    19.  }
    20.  
    21.  $loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS");
    22.  $y=0;
    23.  while($loop[$y]!=''){
    24.   $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
    25.   $scphp = strtolower($loop[$y]);
    26.   $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
    27.   if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
    28.    $$scphp = urldecode($$scphp);
    29.  
    30.   $y++;
    31.  }
    32.  
    33.  $pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
    34.  $pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
    35.  $songatime = explode("<SONG>", $pageed);
    36.  $r=1;
    37.  while($songatime[$r]!=""){
    38.   $t=$r-1;
    39.   $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
    40.   $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
    41.   $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
    42.   $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
    43.   $song[$t] = urldecode($song[$t]);
    44.   $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
    45.   $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
    46. $r++;
    47.  }
    48.  
    49. fclose($scfp);
    50. }
    51.  
    52. if($streamstatus == "1"){
    53. echo'Сейчас играет: <span class="playdisplay">'.$song[0].'</span>';
    54.  
    55. }
    56. if($streamstatus == "0")
    57. {
    58. echo'Радио офф';
    59. }
    60. ?>

    пишет Сейчас играет: 229. ÿÿÿÿ - ÿÿÿÿ ÿÿÿÿÿÿ
    А с инглишом все норм
    Сейчас играет: 130. Sergio Fernandez And Luigi Daniell - Afterhour (Outdoor Mix)
     
  9. Offline

    OlegKor Недавно здесь

    Регистрация:
    02.03.2009
    Сообщения:
    30
    Симпатии:
    0
    Пол:
    Мужской
    Попробуй использовать mb_ereg_replace вместо ereg_replace

    Все то же самое. только обрабатывает многобайтные символы.
    Используй приблизительно так:
    Код (PHP):
    1. $pageed = mb_ereg_replace(".*<$loop[$y]>", "", $page, "utf-8");
    2. $scphp = mb_strtolower($loop[$y], "utf-8");


    mb_ereg_replace
    mb_strtolower

    и т.д. поинтересуйся в документации PHP

    P.S. - по некоторым рекомендациям, при использовании функций mb_* кодировку в конце каждой такой функции указывать ОБЯЗАТЕЛЬНО. Хотя в документации говорится, что если не указать, будет использована локаль по умолчанию - не верьте, лучше укажите.

    Ну вот пример разницы между

    Код (PHP):
    1. strlen("Вася"); // Вернет результат = 8
    и
    Код (PHP):
    1. mb_strlen("Вася","utf-8"); // Вернет результат = 4

    Ну и в случае с mb_strtolower($loop[$y], "utf-8"); тоже будет счастье ...
     
    Последнее редактирование: 07.11.2009
  10. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    какой у вас пхп-редактор ?какая кодировка по умолчанию ?
     
  11. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    редактор Notepad++
    Кодировка UTF-8
    Спросил одного человека, он мне сказал дело может быть не в семом ПХП, а в файле исполняемом (сервере), т.к он мне сказал что сервер шлет на мой сайт кодировку 1251
    вот скрин
    [​IMG]
    ниже сам файл может кто декомпелирует его в utf-8
     

    Вложения:

  12. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    правильно говорит - ищем на вашем веб-сервере файлик php.ini , в нем ищем строку
    Код (CODE):
    1. AddDefaultCharset win-1251

    и меняем ее на
    Код (CODE):
    1. AddDefaultCharset utf8
     
  13. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    хз все норм стоит
    Код (html):
    1. adddefaultcharset = utf-8
     
  14. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    мне сказали нужно перекомпилировать файл dsp_sc.dll в кодировку utf-8
     
  15. Offline

    OlegKor Недавно здесь

    Регистрация:
    02.03.2009
    Сообщения:
    30
    Симпатии:
    0
    Пол:
    Мужской
    ЗАЧЕМ!? Ну или ... не только DLL играет роль, а и EXE

    Вот тут и руссификаторы есть - читай ответ по ссылке до конца
    И тут можно попробовать

    И если после этих патчей все как бы произойдет хорошо, тебе с ОГРОМНЫМ успехом может побить русский текст стандартная функция PHP - strtolower(); или иная строковая функция, так что прислушайся к совету и поменяй в коде все строковые функции на многобайтные mb_*, поверь на слово НЕ ПОМЕШАЕТ.
     
    Последнее редактирование: 08.11.2009
  16. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Код (CODE):
    1. adddefaultcharset = utf-8

    это не норм... это не правильная строка... должно быть так, как я написал выше, также посмотрите в конфиге апача. Никаких дллок перекомпиливать не нужно, все настраивается руками.
     
  17. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Я читал про это но не помогло изначально ставил русифицырованые файлы, на самом сервере норм текст кажет,
    [​IMG]
    а когда делаю запрос с айта то русские буквы в "закарьчка" превращаются
    [​IMG]
    вот код запроса к серваку
    Код (PHP):
    1. <?php
    2. $scdef  =       "Мое сетевое радио";
    3.  
    4. $scip   =       "10.1.27.145";
    5. $scport =       "8000";
    6. $scpass =       "***********";
    7.  
    8. $refreshrate =  "200";
    9.  
    10. $scfp = mb_fsockopen("$scip", $scport, &$errno, &$errstr, 30);
    11.  if(!$scfp) {
    12.   $scsuccs=1;
    13. echo''.$scdef.' is Offline';
    14.  }
    15. if($scsuccs!=1){
    16.  fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
    17.  while(!feof($scfp)) {
    18.   $page .= mb_fgets($scfp, 1000);
    19.  }
    20.  
    21.  $loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS");
    22.  $y=0;
    23.  while($loop[$y]!=''){
    24.   $pageed = mb_ereg_replace(".*<$loop[$y]>", "", $page, "utf-8");
    25.   $scphp = mb_strtolower($loop[$y], "utf-8");
    26.   $$scphp = mb_ereg_replace("</$loop[$y]>.*", "", $pageed, "utf-8");
    27.   if($loop[$y]==mb_SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
    28.    $$scphp = mb_urldecode($$scphp);
    29.  
    30.   $y++;
    31.  }
    32.  
    33.  $pageed = mb_ereg_replace(".*<SONGHISTORY>", "", $page, "utf-8");
    34.  $pageed = mb_ereg_replace("<SONGHISTORY>.*", "", $pageed, "utf-8");
    35.  $songatime = mb_explode("<SONG>", $pageed, "utf-8");
    36.  $r=1;
    37.  while($songatime[$r]!=""){
    38.   $t=$r-1;
    39.   $playedat[$t] = mb_ereg_replace(".*<PLAYEDAT>", "", $songatime[$r], "utf-8");
    40.   $playedat[$t] = mb_ereg_replace("</PLAYEDAT>.*", "", $playedat[$t], "utf-8");
    41.   $song[$t] = mb_ereg_replace(".*<TITLE>", "", $songatime[$r], "utf-8");
    42.   $song[$t] = mb_ereg_replace("</TITLE>.*", "", $song[$t], "utf-8");
    43.   $song[$t] = mb_urldecode($song[$t]);
    44.   $dj[$t] = mb_ereg_replace(".*<SERVERTITLE>", "", $page, "utf-8");
    45.   $dj[$t] = mb_ereg_replace("</SERVERTITLE>.*", "", $pageed, "utf-8");
    46. $r++;
    47.  }
    48.  
    49. fclose($scfp);
    50. }
    51.  
    52. if($streamstatus == "1"){
    53. echo'Сейчас играет: <span class="text2">'.$song[0].'</span>';
    54.  
    55. }
    56. if($streamstatus == "0")
    57. {
    58. echo'Радио офф';
    59. }
    60. ?>
     
    Последнее редактирование: 08.11.2009
  18. Offline

    OlegKor Недавно здесь

    Регистрация:
    02.03.2009
    Сообщения:
    30
    Симпатии:
    0
    Пол:
    Мужской
    Текст запроса к серверу

    Код (PHP):
    1. while($loop[$y]!=''){
    2.   $pageed = mb_ereg_replace(".*<$loop[$y]>", "", $page);
    3.   $scphp = strtolower($loop[$y]);
    4.   $$scphp = mb_ereg_replace("</$loop[$y]>.*", "", $pageed);
    5.   if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
    6.    $$scphp = urldecode($$scphp);


    $scphp = strtolower($loop[$y]); надо написать mb_strtolower($loop[$y], "utf-8");
    Во всех функциях mb_* ОБЯЗАТЕЛЬНО в конце (последним параметром) указывать кодировку. например
    mb_ereg_replace("</$loop[$y]>.*", "", $pageed, "utf-8");
    ВНИМАНИЕ! Во всех функциях указывать кодировку.
    Если кодировка "utf-8" не поможет можно попробовать "windows-1251"
     
  19. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    OlegKor дак в мой код посмотри у меня так все и зделанно :)
     
  20. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    что вы тут развели... тут не базар... еще раз повторяю, что бы все было нормльно - устанавливаем в php.ini и httpd.conf: AddDefaultCharset utf8, в редакторе сохраняем код в кодировке utf8 и ВСЕ. больше ничего делать не нужно.

    З,Ы,: в мета тоже поставьте утф8.
     
  21. Offline

    OlegKor Недавно здесь

    Регистрация:
    02.03.2009
    Сообщения:
    30
    Симпатии:
    0
    Пол:
    Мужской
    Сейчас да. Но я ведь код копировал из твоего топика ...
    Кроме того, ты сейчас просто напихал mb_ ... куда не попадя. Если ты прицепишь от БАЛДЫ к любой функции mb_ - это не поможет и чуда не произойдет. Я тебе говорил ранее - это касается строковых функций, да и то надо уточнять в документации, какая поддерживается а какая нет ..
    Ну хотябы тут посмотреть аргументацию - а тут "Функции мультибайтных строк" ... в конце материала весь перечень таких функций. Или здесь.

    Ну к примеру ...
    if($loop[$y]==mb_SERVERGENRE || $loop[$y]==SERVERTITLE - это к чему?
    или
    $$scphp = mb_urldecode($$scphp); - если применять, то где кодировка?
    а это так вообще ...
    $page .= mb_fgets($scfp, 1000); - Ты проверял в документации она поддерживается как многобайтная?


    Ну да ладно.
    Если все рекомендации сделаны правильно - от меня, а так же все что тебе рекомендует omfgpanda и после этого не работает. Я думаю, что значит не произошла руссификация у тебя.
    Иначе со стороны веб-сервера и кода в скрипте, уже ни каких затыков быть не может. Ищи проблемы в SHOUTcast DNAS.
     
    Последнее редактирование: 09.11.2009

Поделиться этой страницей

Загрузка...