Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: rammstein в Dec 09, 2010, 14:08



Титла: if и file_get_contents проблем
Публикувано от: rammstein в Dec 09, 2010, 14:08
<?php   
$myip=file_get_contents("http://www.whatismyip.com/automation/n09230945.asp");
if(!$myip=='1.1.1.1'){

    echo "Not matches";
}
?>
If-а не работи . Къде ми е грешката ? :S


Титла: Re: if и file_get_contents проблем
Публикувано от: b2l в Dec 09, 2010, 14:12
<?php  
$myip=file_get_contents("http://www.whatismyip.com/automation/n09230945.asp");
if(!$myip=='1.1.1.1'){

    echo "Not matches";
}
?>
If-а не работи . Къде ми е грешката ? :S

Ми:
Код
GeSHi (PHP):
  1. if($myip != '1.1.1.1')

или:
Код
GeSHi (PHP):
  1. if(!$myip)
  - ама тука нямаш проверка дали е 1.1.1.1.

Всъщност какво искаш, да е равна или да не е равна? Извинявай ама малко трудно ти разбирам кода.

Разбрах какво правиш - еми махни удивителната (!) пред $myip.

Моя грешка направи го така:
Код
GeSHi (PHP):
  1. if(!($myip == '1.1.1.1'))
- за да може да се изпълни If-a.


Титла: Re: if и file_get_contents проблем
Публикувано от: bvbfan в Dec 09, 2010, 14:21
if( ! ($myip=='1.1.1.1') )
{
    echo "Not matches";
}

или

if( $myip=='1.1.1.1' )
{
    echo "Not matches";
}


Титла: Re: if и file_get_contents проблем
Публикувано от: b2l в Dec 09, 2010, 14:28
На втория пример не трябва ли да има удивителна преди равното:
Код
GeSHi (PHP):
  1. if ($myip != '1.1.1.1')
???


Титла: Re: if и file_get_contents проблем
Публикувано от: Naka в Dec 10, 2010, 12:37
Аз пък си мисля, че така не е правилно да сравняваш.
file_get_contents ще ти даде цял файл в променливата $myip. Не можеш да бъдеш сигурен какво се съдържа вътре - може да е наистина само ip-to, а може и да има и други работи около него. Например нов ред преди/или_след, паузи и т.н.
За това трябва с preg да правиш проверка дали в текста на променливата $ip някъде се съдържа стринга  '1.1.1.1'