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 :: Битая ссылка

 PHP.SU

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


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

> Описание: как проверить битая ли ссылка или нет ?
kazmikro
Отправлено: 15 Января, 2012 - 18:19:22
Post Id



Гость


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


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




какая функция проверяет ссылку , битая она или нет ?
 
 Top
PATCH
Отправлено: 15 Января, 2012 - 18:22:31
Post Id



Частый посетитель


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


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




c помощью курла парсить страницу и проверять http заголовки
 
 Top
kazmikro
Отправлено: 15 Января, 2012 - 18:26:54
Post Id



Гость


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


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




Можно пример
 
 Top
PATCH
Отправлено: 15 Января, 2012 - 18:45:12
Post Id



Частый посетитель


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


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




PHP:
скопировать код в буфер обмена
  1. $site ="http://2ip.ru/";
  2.  
  3. $ch = curl_init($site);
  4.  
  5. $headers = array (  
  6.  
  7.     '(Request-Line): GET /work-serf.php HTTP/1.1',
  8.  
  9.     'User-Agent: Opera/9.80 (Windows NT 5.1; U; MRA 5.9 (build 4876); ru) Presto/2.10.229 Version/11.60',
  10.  
  11.     'Accept:text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1',
  12.  
  13.     'Accept-Language:ru-RU,ru;q=0.9,en;q=0.8',
  14.  
  15.     'Accept-Encoding: identity',
  16.  
  17.         'Referer: http://seosprint.net/work-serf.php', );
  18.  
  19. curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
  20.  
  21. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  22.  
  23. $result = curl_exec($ch);
  24.  
  25. $http_code=curl_getinfo($ch, CURLINFO_HTTP_CODE);
  26.  
  27. if($http_code==200)
  28.  
  29. {echo "ссылка не битая";}
  30. else{echo "ссылка битая";}
  31.  
 
 Top
kazmikro
Отправлено: 15 Января, 2012 - 18:47:54
Post Id



Гость


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


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




Fatal error: Call to undefined function curl_init() in X:\home\test1.ru\www\php.php on line 5
 
 Top
LIME
Отправлено: 15 Января, 2012 - 18:51:07
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




http://www.php.net/manual/ru/fun....get-headers.php
(Добавление)
проверяй на false
 
 Top
kazmikro
Отправлено: 15 Января, 2012 - 19:02:58
Post Id



Гость


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


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




PHP:
скопировать код в буфер обмена
  1. $url = 'Ссылка';
  2. $result = get_headers($url);
  3. if ($result[0] <> "HTTP/1.1 200 OK"){
  4.     echo "Ссылка не рабочая";
  5. }else{
  6.     echo "Ссылка рабочая";
  7. }


Сделал так всё пашет ))))))) Спасибо всем Подмигивание
 
 Top
Okula
Отправлено: 15 Января, 2012 - 19:09:57
Post Id



Участник


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


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




kazmikro пишет:
Fatal error: Call to undefined function curl_init() in X:\home\test1.ru\www\php.php on line 5

На денвере по умолчанию отсутствует библиотека cURL. Её нужно качать отдельно.
 
 Top
LIME
Отправлено: 15 Января, 2012 - 19:12:01
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




kazmikro плохо сделал
а если код будет 302?
это перенаправление
ссылка-то рабочая
PHP:
скопировать код в буфер обмена
  1. $url = 'Ссылка';
  2. $status='#^HTTP/1\.[01] (?:2\d\d|3\d\d)#';
  3. $result = get_headers($url);
  4. if (preg_match($status,$result[0] )){
  5.        echo "Ссылка рабочая";
  6. }else{
  7.        echo "Ссылка не рабочая";
  8. }

(Отредактировано автором: 15 Января, 2012 - 20:13:33)

 
 Top
kazmikro
Отправлено: 15 Января, 2012 - 19:24:25
Post Id



Гость


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


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




А я ссылки проверяю прямые с .mp3 окончанием, там же кроме 403 не чего не может быть !?
 
 Top
LIME
Отправлено: 15 Января, 2012 - 19:28:31
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




может теоретически но вряд ли
мой вариант по любому работает
ну хотя бы версию протокола 1.0 добавь
 
 Top
kazmikro
Отправлено: 15 Января, 2012 - 19:36:53
Post Id



Гость


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


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




у меня ещё вопрос, как поссмотреть содержимое массива , знаю есть функция print_r но там как то не удобно смотреть совсем
 
 Top
Slesher
Отправлено: 15 Января, 2012 - 19:39:10
Post Id


Гость


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


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




kazmikro

var_dump()

foreach($array as $key=>$value)
 
 Top
Okula
Отправлено: 15 Января, 2012 - 19:39:21
Post Id



Участник


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


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




Есть функция var_dump() выводит информацияю о переданном значении с указанием типов данных.
 
 Top
LIME
Отправлено: 15 Января, 2012 - 19:40:14
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




PHP:
скопировать код в буфер обмена
  1. echo '<pre>';
  2. var_dump(массив);
  3. echo '</pre>';
 
 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