kabooom
23.02.2011, 12:20:26
Witam
Mam skrypt ktory okresowo wysyla mejle z linkiem zwrotnym, uruchamiam go z cron'a, i z tego powodu nie bardzo moge dobrac sie do $_SERVER['HTTP_HOST'].
No i pytanie- jak wyciagnac w tym przypadku adres?
nospor
23.02.2011, 12:22:11
Adres czego? Serwera? No to nie wiesz na jakim serwerze masz skrypt?
kabooom
23.02.2011, 12:52:36
Cytat(nospor @ 23.02.2011, 12:22:11 )

Adres czego? Serwera? No to nie wiesz na jakim serwerze masz skrypt?
Tak publiczny adres serwera, system ma być instalowany u kilkunastu klientów i dlatego chciałem to zautomatyzować.
nospor
23.02.2011, 13:00:19
Raczej się nie dobierzesz do adresu publicznego serwera.
Załóżmy ze instalujesz to na hostingu. Tam przecież stoją różne serwisy, różnych ludzi a każdy ma swój własny adres publiczny. Skąd więc cron ma wiedzieć, że ma dać akurat Twój?
dr_bonzo
23.02.2011, 13:41:12
Rozwiazanie jest proste. W cronie dodaj parametr z domena twoje stronki i juz.
Albo odpalaj crona przez "curl -costam
http://stronka/cron/12938192387192837" - bedziesz znal domene
kabooom
6.07.2011, 15:00:02
solved

takie coś skleciłem:
Kod
function getMyPublicIP( $url='http://checkip.dyndns.org' )
{
$page_content = file_get_contents($url);
$parts = explode(":", $page_content);
$ip = trim( $parts[1] );
return $ip;
}
uupah5
6.07.2011, 15:13:36
albo bez php, bezpośrednio z shella:
wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
kabooom
11.07.2011, 09:04:08
o, tak jeszcze lepiej ;p
Kod
function getMyPublicIP( $url='http://checkip.dyndns.org' )
{
$page_content = file_get_contents($url);
preg_match ( '/(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}/' , //ip regexp
$page_content, $matches );
return $matches[0];
}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.