Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: horo

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: трабла
maragon
Отправлено: 08 Июня, 2011 - 22:19:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Сам скрипт
CODE (htmlphp):
скопировать код в буфер обмена
  1. function horoscope ($url, $sign)
  2. {
  3. //   echo "<META http-equiv=content-type content=\"text/html; charset=UTF-8\">";
  4.      $xml=file_get_contents($url);
  5.      $dom=new domDocument;
  6.      $dom->loadXML($xml);
  7.      $s_dom=simplexml_import_dom($dom);
  8.      if ($sign==""||$sign>12) return " not sign ";
  9.      return iconv("utf-8", "windows-1251", $s_dom->channel->item[$sign]->description);
  10. //    return $s_dom->channel->item[$sign]->description;
  11.  
  12. }
  13.  ........

Но, если нет коннекта в паутину - выдаёт огород ошибок.
Как бы убрать? и красиво оповестить зашедшего на страницу. Хм


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
DeepVarvar Супермодератор
Отправлено: 09 Июня, 2011 - 00:18:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. $file = @fopen($url);
  2. if ($file) {
  3.   // работаем, только закрыть потом не забываем
  4.   }
  5. else echo "Звиняйте... Но щаз каннекта тюти...";
 
 Top
maragon
Отправлено: 09 Июня, 2011 - 00:30:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




А можно разжувать - что енто? Однако
и что закрыть? точнее как Не понял

(Отредактировано автором: 09 Июня, 2011 - 00:33:46)



-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
DeepVarvar Супермодератор
Отправлено: 09 Июня, 2011 - 00:37:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




maragon пишет:
и что закрыть? точнее как

 
 Top
maragon
Отправлено: 09 Июня, 2011 - 00:53:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Ха-ха не спать - вредно. Ха-ха
спасибо.
(Добавление)
PHP:
скопировать код в буфер обмена
  1. echo "<h3>Общий гороскоп. Овен</h3>";
  2. $url = "http://hyrax.ru/cgi-bin/bn_xml2.cgi";
  3. $file = @fopen($url);
  4. if ($file) {
  5. echo horoscope($url, 1);
  6. } else { echo "Гороскоп в данный момент недоступен!"; }
  7.  

ругается и пишет "Гороскоп в данный момент недоступен!", хотя, если убрать эти манипуляции он его загрузит.
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo horoscope($url, 1);


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
DeepVarvar Супермодератор
Отправлено: 09 Июня, 2011 - 01:27:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. function horoscope ($url, $sign) {
  2.   //   echo "<META http-equiv=content-type content=\"text/html; charset=UTF-8\">";
  3.   $file = @fopen ($url);
  4.   if ($file) {
  5.     $xml=fread($file,100000);
  6.     $dom=new domDocument;
  7.     $dom->loadXML($xml);
  8.     fclose($file);
  9.     $s_dom=simplexml_import_dom($dom);
  10.     if ($sign==""||$sign>12) return " not sign ";
  11.     return iconv("utf-8", "windows-1251", $s_dom->channel->item[$sign]->description);
  12.     return $s_dom->channel->item[$sign]->description;
  13.     }
  14.   else return "Звиняйте... Но щаз каннекта тюти...";
  15.   }

(Отредактировано автором: 09 Июня, 2011 - 01:28:30)

 
 Top
maragon
Отправлено: 09 Июня, 2011 - 01:33:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




мм.. а самого главного нема,
- 1 это номер гороскопа, он у меня меняется от 1-12.
В данный момент нужно вывести 1, как указано в коде выше Однако


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
maragon
Отправлено: 09 Июня, 2011 - 14:12:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Актуально. help Хм


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
maragon
Отправлено: 09 Июня, 2011 - 23:02:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. function horoscope ($url, $sign) {
  2.   //   echo "<META http-equiv=content-type content=\"text/html; charset=UTF-8\">";
  3.   $file = @fopen ($url);
  4.   if ($file) {
  5.     $xml=fread($file,100000);
  6.     $dom=new domDocument;
  7.     $dom->loadXML($xml);
  8.     fclose($file);
  9.     $s_dom=simplexml_import_dom($dom);
  10.     if ($sign==""||$sign>12) return " not sign ";
  11.     return iconv("utf-8", "windows-1251", $s_dom->channel->item[$sign]->description);
  12.     return $s_dom->channel->item[$sign]->description;
  13.     }
  14.   else return "Звиняйте... Но щаз каннекта тюти...";
  15.   }
  16. echo horoscope($url, 1);

не отвечает - выводит пустоту! Улыбка

(Отредактировано автором: 09 Июня, 2011 - 23:07:20)



-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
DeepVarvar Супермодератор
Отправлено: 09 Июня, 2011 - 23:47:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




var_dump() каждой строки по очереди - и смотри что куда передается, и передается ли. Чо на код то пялится? Ковыряй его милого Радость
 
 Top
maragon
Отправлено: 10 Июня, 2011 - 00:14:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Вопрос решен. Улыбка


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
DeepVarvar Супермодератор
Отправлено: 10 Июня, 2011 - 00:58:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Отписался бы хоть что там было...
 
 Top
maragon
Отправлено: 10 Июня, 2011 - 01:25:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Листал мануалы по fopen, думал может что с сокетами сотворить... в итоге взял другой подход с более длинным(ужасным) кодом - но работает.


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
DeepVarvar Супермодератор
Отправлено: 10 Июня, 2011 - 01:25:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




скинь ка Закатив глазки
 
 Top
maragon
Отправлено: 10 Июня, 2011 - 01:34:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function isValidURL($url){
  3.                                                    $url = !preg_match('/^(https?|ftp):\/\/.*/i',$url) ? 'http://'.$url : $url;
  4.                                                    if(function_exists('curl_init')){
  5.                                                           ob_start();
  6.                                                           $ch = curl_init($url);
  7.                                                           curl_setopt($ch, CURLOPT_HEADER, 1);
  8.                                                           curl_setopt($ch, CURLOPT_NOBODY, 1);
  9.                                                           curl_exec($ch);
  10.                                                           curl_close($ch);
  11.                                                           $head = ob_get_contents();
  12.                                                           ob_end_clean();
  13.                                                           preg_match('/HTTP\/1\.1\s([0-9]{3})/', $head, $code);
  14.                                                           $code = isset($code[1]) ? (int)$code[1] : -1;
  15.                                                           return $code==200 || $code==302;  
  16.                                                    }
  17.                                                    if(function_exists('fsockopen')){
  18.                                                           $url = parse_url($url);
  19.                                                           $url['port'] = isset($url['port']) ? $url['port'] : 80;
  20.                                                           $url['query'] = isset($url['query']) ? "?".$url['query'] : "";
  21.                                                           if($f=fsockopen($url['host'],$url['port'])){
  22.                                                                  fputs($f,"HEAD ".$url['path'].$url['query']." HTTP/1.1\r\nHost: ".$url['host']."\r\n\r\n");
  23.                                                                  while($line=fgets($f)){
  24.                                                                         if(preg_match('/HTTP\/1\.1\s([0-9]{3})/',$line,$code)){
  25.                                                                            $code = isset($code[1]) ? (int)$code[1] : -1;
  26.                                                                            return $code==200 || $code==302;
  27.                                                                         }
  28.                                                                  }
  29.                                                                  fclose($f);
  30.                                                           }
  31.                                                    }
  32.                                                    if(function_exists('stream_get_contents') && $stream=fopen($url,'r')){
  33.                                                                  $response = stream_get_contents($stream,1,0);
  34.                                                                  fclose($stream);
  35.                                                                  return $response!==FALSE;
  36.                                                    }      
  37.                                                    return file_get_contents($url)!==FALSE;
  38.                                                    }
  39.                                                         $url = "http://hyrax.ru/cgi-bin/bn_xml2.cgi";
  40.                                                         if ( isValidURL($url) ){
  41.                                                         function horoscope ($url, $sign)
  42.                                                         {
  43.                                                                  $xml=file_get_contents($url);
  44.                                                                  $dom=new domDocument;
  45.                                                                  $dom->loadXML($xml);
  46.                                                                  $s_dom=simplexml_import_dom($dom);
  47.                                                                  if ($sign==""||$sign>12) return " not sign ";
  48.                                                                  return iconv("utf-8", "windows-1251", $s_dom->channel->item[$sign]->description);
  49.                                                         }
  50.                                                           echo "<h3>Общий гороскоп. Овен</h3>";
  51.                                                           echo horoscope($url, 1); // for sign scorpio
  52.                                                         } else {
  53.                                                            echo "Гороскоп в данный момент недоступен!";
  54.                                                         }
  55. ?>


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB