Ciao. Se volessi suddividere un indirizzo IP per leggere (ed avere a disposizione come variabile) i 4 ottetti singolarmente, c'è una funzione che fa questo? Cioè se il primo ottetto, per esempio, è compreso in un dato range e così via....
Ciao. Se volessi suddividere un indirizzo IP per leggere (ed avere a disposizione come variabile) i 4 ottetti singolarmente, c'è una funzione che fa questo? Cioè se il primo ottetto, per esempio, è compreso in un dato range e così via....
Usa La Funzione explode...
http://it.php.net/manual/en/function.explode.phpcodice:$ip = $_SERVER['REMOTE_ADDR']; $numeri = explode('.', $ip); echo $numeri[0]; echo $numeri[1]; echo $numeri[2]; echo $numeri[3];
PoWered by:
Gentoo 1.5.3 - Kernel 2.6.7
Debian Sid - Kernel 2.6.7 - Bash 3.0
Slackware current - Kernel 2.6.7
vedi anche per la funzione
strtok()
per explode mi dà sempre errore
Warning: Wrong parameter count for range() in d:\myweb\apache\htdocs\test\range.php on line 6
codice:<? $ip = $_SERVER['REMOTE_ADDR']; $numeri = explode('.', $ip); if (range(0, 127, $numeri[0])) { echo "ip corretto"; } else { echo "ip sbagliato"; } ?>
Originariamente inviato da meganoide
per explode mi dà sempre errore
Warning: Wrong parameter count for range() in d:\myweb\apache\htdocs\test\range.php on line 6
codice:<? $ip = $_SERVER['REMOTE_ADDR']; $numeri = explode('.', $ip); if (range(0, 127, $numeri[0])) { echo "ip corretto"; } else { echo "ip sbagliato"; } ?>
a cosa dovrebbe servire? che controlli vuoi fare?
stai usando php 5 vero?
.
php 4.3.1
in realtà devo controllare che un ip cominci per un determinato ottetto compreso in un range che definisco io (ad esempio da 80 a 90 ecc...)
l'ottetto (ovvero lo step del range) della funzione range() funziona solo con php5 con le versioni precedenti non va...Originariamente inviato da meganoide
php 4.3.1
in realtà devo controllare che un ip cominci per un determinato ottetto compreso in un range che definisco io (ad esempio da 80 a 90 ecc...)
però puoi farti una funzioncina. è abbastanza semplice.. spiegami meglio con degli esempi
.
sul manuale leggo che range() c'è anche per php4: step, invece, solo per php 5, per questo l'ho usato
Comunque, devo controllare come comincia un IP (primo ottetto) e, se compreso in un determinato range, allora faccio una redirezione, stampo qualcosa o altro....
fammi degli esempi... l'ottetto come deve essere?
if (range(0, 127, $numeri[0])) {
qui non sei stato molto chiaro
al massimo avrei fatto
foreach (range(0, 127, 8) as $numero) {
if ($numeri[0] == $numero ) {
echo "tutto dentro";
}
else
{
echo "non te la do";
}
}
ma ovviamente il terzo valore di range funziona solo con php 5 come ti ho già detto...
spiega meglio...
.
bè sto provando in locale quindi per l'ip 127.0.0.1 il range deve essere compreso tra 0 e 127.