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 »   

> Без описания
Алексеей
Отправлено: 13 Января, 2012 - 20:34:26
Post Id


Посетитель


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


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




Привет ребята. Смотрите, вот этот скрипт проверяет есть ли определенный файл на другом сайте:
PHP:
скопировать код в буфер обмена
  1. $url = "http://site/robots.txt";
  2. //получаем заголовки
  3. $headers = @get_headers($url);
  4. //если ответ заголвка 200 а не 404
  5.  if(preg_match("|200|", $headers[0])) {
  6.  echo '<div class="yes">Файл существует</div>';
  7.  } else {
  8.  echo '<div class="not">Файл несуществует</div>';
  9.  }

как дать ему условие, чтобы если нету файла robots.txt то проверит определенную ссылку на странице, например: http://www[dot]google[dot]ru/images/nav_logo101[dot]png
конечно если не найдет оба файла, то показывает сообщение что не найдены оба материала, а если найдет один из материалов, то покажет какой материал был найдет.
Пример:
Если нашел : robot.txt то выдаст сообщение: найден robot.txt
А если найдет ссылку: http://www.google.ru/images/nav_logo101.png, то покажет найден логотип.
Очень вас прошу помочь мне с этой проблемой Огорчение
 
 Top
etoYA
Отправлено: 13 Января, 2012 - 22:46:43
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


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




PHP:
скопировать код в буфер обмена
  1. if (условие №1) {
  2.  
  3. }
  4. elseif (если 1е не верно, то условие №2) {
  5.  
  6. }
  7. else (если ниодно не верно) {
  8.  
  9. }

(Отредактировано автором: 13 Января, 2012 - 22:47:10)

 
 Top
snikers987
Отправлено: 13 Января, 2012 - 23:16:42
Post Id



Участник


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


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




etoYA пишет:
PHP:
скопировать код в буфер обмена
  1. if (условие №1) {
  2.  
  3. }
  4. elseif (если 1е не верно, то условие №2) {
  5.  
  6. }
  7. else (если ниодно не верно) {
  8.  
  9. }


Условие не верно, на else нельзя поставить условие.
PHP:
скопировать код в буфер обмена
  1. if(/*нет первого файла*/){
  2.  
  3. }elseif(/*нет второго*/){
  4.  
  5. }else{
  6. echo 'не обоих';
  7. }


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Алексеей
Отправлено: 13 Января, 2012 - 23:26:56
Post Id


Посетитель


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


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




snikers987, извините, а можете к моему скрипту добавить код ? ото я добавил и ничего не получается Огорчение пожалуйста Улыбка
(Добавление)
snikers987, и как условия проверит второй файл, если его нету в скрипте ? добавте пожалуйста за одно и его Улыбка
 
 Top
snikers987
Отправлено: 14 Января, 2012 - 00:41:55
Post Id



Участник


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


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




PHP:
скопировать код в буфер обмена
  1. <?
  2. $url = "http://site/robots1.txt"; //1 фаил
  3. $headers = @get_headers($url);
  4.  
  5. if(preg_match("|200|", $headers[0])) {
  6.         echo '<div class="yes">Файл 1 существует</div>';
  7. }else{
  8.         $sUrl = "http://site/robots2.txt"; //2фаил
  9.         $rgHeaders = @get_headers($sUrl);
  10.         if(preg_match("|200|", $rgHeaders[0])){
  11.                 echo '<div class="yes">Файл 2 существует</div>';
  12.         }else{
  13.                 echo 'Нет обоих';
  14.         }
  15. }
  16.  


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Алексеей
Отправлено: 14 Января, 2012 - 07:29:13
Post Id


Посетитель


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


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




snikers987, спасибо все это работает, еще один не большой вопрос, как сделать чтобы второй файл искал на определенном сайте, например на сайте php.su ищет ссылку:
http://www[dot]google[dot]ru/images/nav_logo101[dot]png
почему я говорю чтобы искал в определенном сайте, потому что заметьте что ссылка на второй файл не в от другого источника, это вообще можно сделать ? чтобы скрипт искал в определенном сайте другую ссылку ?
 
 Top
PATCH
Отправлено: 14 Января, 2012 - 09:22:11
Post Id



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


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


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




Алексеей пишет:
snikers987, спасибо все это работает, еще один не большой вопрос, как сделать чтобы второй файл искал на определенном сайте, например на сайте php.su ищет ссылку:
http://www[dot]google[dot]ru/images/nav_logo101[dot]png
почему я говорю чтобы искал в определенном сайте, потому что заметьте что ссылка на второй файл не в от другого источника, это вообще можно сделать ? чтобы скрипт искал в определенном сайте другую ссылку ?

вам нужен парсер ссылок , реализуется он через Curl+регулярное выражение (preg_match_all) или через стандартные функции php с работой файловой системы + preg_match_all http://forum.php.su/topic.php?fo...=4&topic=909 на форуме недавно создавалось много тем на эту тематику поищите.
 
 Top
Алексеей
Отправлено: 14 Января, 2012 - 10:50:50
Post Id


Посетитель


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


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




PATCH, так мне нужно чтобы только в $sUrl проверял эту ссылку с гугла, а как мне его туда вписать ?
 
 Top
snikers987
Отправлено: 14 Января, 2012 - 11:13:57
Post Id



Участник


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


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




Алексеей пишет:
PATCH, так мне нужно чтобы только в $sUrl проверял эту ссылку с гугла, а как мне его туда вписать ?

Ничего не понял, проблема написать? Пиши нужные тебе ссыслки.. Они могут вести и на разные сайты.


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Алексеей
Отправлено: 14 Января, 2012 - 11:37:40
Post Id


Посетитель


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


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




snikers987, ну дело в том что скрипт должен проверять на определенном сайте определенную ссылку, например на сайте php.su ищет совсем чужую ссылку: example.com/image/123.png
 
 Top
PATCH
Отправлено: 14 Января, 2012 - 11:54:42
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. $file = file("http://php.su");
  2. $link="http://php.su/articles/";
  3.  
  4. foreach($file as $key=>$value)
  5. {
  6.  $resh = preg_match($link,$value);
  7. }
  8. echo $resh;

описывайте нормально тз
 
 Top
Алексеей
Отправлено: 14 Января, 2012 - 13:14:49
Post Id


Посетитель


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


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




PATCH, я так понимаю $link="http://php.su/articles/"; вместо этой ссылки можно вставить и ссылки с других сайтов ? но он будет искать на сайте php.su ссылки с другого сайта ? если да то как мне добавить к этому скрипту ваш код ? :
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $url = "http://site/robots1.txt"; //1 фаил
  3. $headers = @get_headers($url);
  4.  
  5. if(preg_match("|200|", $headers[0])) {
  6.         echo '<div class="yes">Файл 1 существует</div>';
  7. }else{
  8.         $sUrl = "http://site/robots2.txt"; //2фаил
  9.         $rgHeaders = @get_headers($sUrl);
  10.         if(preg_match("|200|", $rgHeaders[0])){
  11.                 echo '<div class="yes">Файл 2 существует</div>';
  12.         }else{
  13.                 echo 'Нет обоих';
  14.         }
  15. }
  16. ?>


чтобы было так, если не найдет $url то будет искать в php.su определенную ссылку, но эта ссылка не в корне того определенного сайта, думаю вы меня понимаете ? как это сделать ?

и я вообще запутался, давайте я просто напишу что именно я хочу:

Нужно чтобы скрипт искал ссылку: htpp://mysite.ru/robot.txt и если файл не существует, то будет искать уже в определенном сайте ссылку с другого сайта, например после условия: в php.su ищет: google.ru/images.png и если найдет один из них то пишет что найден robot.txt или же google.ru/images.png а если не найдет оба то напишет что не найдены оба файла, как это сделать Огорчение пожалйста помогите Улыбка
 
 Top
Slesher
Отправлено: 14 Января, 2012 - 13:33:47
Post Id


Гость


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


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




Алексеей,
вам надо найти файл на сайте по ссылке или же ссылку на странице?
Вдумайтесь что вам нужно. Если 1вый вариант, то вам к snikers987, если второй то к PATCH.
И соблюдайте знаки препинания а то мысль по ходу читания теряется...
 
 Top
Алексеей
Отправлено: 14 Января, 2012 - 13:43:56
Post Id


Посетитель


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


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




Slesher, По моему я пишу внятно. Смотрите:

Скрипт ищет файл:
site.ru/robot.txt
и если не найдет этот файл, то будет искать на сайте site.ru определенную ссылку:
example.com/images.png
а после покажет который из файлов найден, а если не найдет оба элемента то покажет что не найдены оба файла.
Еще рас: в первом случае файл будет искать, а во втором ссылку
 
 Top
PATCH
Отправлено: 14 Января, 2012 - 14:31:13
Post Id



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


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


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




Алексеей пишет:
чтобы было так, если не найдет $url то будет искать в php.su определенную ссылку, но эта ссылка не в корне того определенного сайта, думаю вы меня понимаете ? как это сделать ?

1)
PHP:
скопировать код в буфер обмена
  1. $url = "http://site.ru/robots.txt";
  2. if(is_file($url))
  3. {
  4.   echo "существует файл robots.txt";
  5. }
  6. else
  7. {
  8. тут надо аццкий парсер
  9. а) который парсит все ссылки с сайта и переходит по ним
  10. б)судя по вашему тз он переходит по ссылкам только начинающиеся с site.ru или которые имеею относительный путь (проверку надо делать)
  11. в)хранить в массиве все ссылки на которые переходили
  12. г) закончить парсить
  13.  1) когда все все все ссылки на сайте имеющие доменое имя или относительный путь закончились (мы уже по всем перешли)
  14.  2) когда во время парсирства и сбора ссылок найдется ссылка = $link2 (это ваша ссылка которую вы ищите)
  15. }
  16.  

если я правильно понел то имено такое тз. теперь вопрос вы разделом не ошибились?) такой парсер сравним немного с поисковыми ботами) конечно немного тупее будет, но все же)
 
 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