Hay alguna forma en php de ver sí una página está enlínea o es real por medio de un ping o similar?
Osea necesito saber sí www.elhacker.net está disponible, como sería?
function ping3 ($ping)
{
$comm = "ping -c3 ".$ping;
$output=shell_exec($comm);
echo $output;
}
ping3 ("www.dominio.com");
?>
Fuente: http://www.nociondigital.com/webmasters/php-tutorial-haciendo-ping-desde-php-detalle-208.html
Lo malo es que no todos los servidores te van a dfejar usarlo.
Saludos!
pues te conectas a esa web y si el servidor web devuelve un code 200 (response code) es que está todo correcto.
Pues una cosa es que sea real y otra que exista.. dependiendo el requerimiento es la solución, si necesitas ver si está online u off abriendo un socket y ver el header te das cuenta, si necesitas ver si está disponible para registro, te toca hacerle un whois.
Saludos
Cita de: дٳŦ٭ en 8 Enero 2010, 18:58 PM
Pues una cosa es que sea real y otra que exista.. dependiendo el requerimiento es la solución, si necesitas ver si está online u off abriendo un socket y ver el header te das cuenta, si necesitas ver si está disponible para registro, te toca hacerle un whois.
Saludos
nop, no quiero ver nada para registro ni mucho menos, necesito saber si una direccion ingresada es valida por ejemplo smf toma como direccion tanto www.google.com como www.paginaquenuncaensuvidaaexistido.com ambos son links pero no son valido los 2 no? como puedo saber si un link es valido o no?
Cita de: luiggy2 en 8 Enero 2010, 17:02 PM
function ping3 ($ping)
{
$comm = "ping -c3 ".$ping;
$output=shell_exec($comm);
echo $output;
}
ping3 ("www.dominio.com");
?>
Fuente: http://www.nociondigital.com/webmasters/php-tutorial-haciendo-ping-desde-php-detalle-208.html
Lo malo es que no todos los servidores te van a dfejar usarlo.
Saludos!
Necesitaria algo que sea mas generico, osea que no dependa de que alguno o que otro servidor lo acepte :) pero gracias, esta interesante aunque en wamp no funciona xD
Cita de: el-brujo en 8 Enero 2010, 17:05 PM
pues te conectas a esa web y si el servidor web devuelve un code 200 (response code) es que está todo correcto.
Y como seria eso mas o menos en php?
Cita de: el-pollo link=topic=280520.msg1381666#msg1381666
quote author=el-brujo link=topic=280520.msg1381561#msg1381561 date=1262966701]
pues te conectas a esa web y si el servidor web devuelve un code 200 (response code) es que está todo correcto.
Y como seria eso mas o menos en php?
[/quote]
Con cURL
function get_web_page( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle compressed
CURLOPT_USERAGENT => "spider", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
http://nadeausoftware.com/articles/2007/06/php_tip_how_get_web_page_using_curl
<?php
// Function to check response time
function pingDomain($domain){
$starttime = microtime(true);
$file = fsockopen ($domain, 80, $errno, $errstr, 10);
$stoptime = microtime(true);
$status = 0;
if (!$file) $status = -1; // Site is down
else {
fclose($file);
$status = ($stoptime - $starttime) * 1000;
$status = floor($status);
}
return $status;
}
?>
Más:
Check website status using php and CURL libraryhttp://php.assistprogramming.com/check-website-status-using-php-and-curl-library.html
Busca por "check website status php" y encontrarás más cosa.
Perdon por la ignorancia pero mi nivel de php es muy basico. Como funcionan las funciones que posteaste brujo? las probe ambas en wamp y no me funciono ninguna de las 2,
Un saludo y gracias
Ocupas tener CURL instalado y tal vez una extensión para que el PHP pueda usarlo xD...
XAMP es de windows no??
Saludos
Ps si usas xampp para window o lampp para linux tienes que activarlo editanto el php.ini, por defecto viene off.
Uso wamp... Que se agrega o edita en php.ini? No se puede activar desde .htaccess?
La verdad yo no lo he hecho pero:
http://es.wikipedia.org/wiki/CURL
http://php.net/manual/en/book.curl.php
Saludos
Tienes que mirar el php.ini y en hay linea aparece esto:
;extension=php_curl.dll
Tienes que quitarle el punto y coma.
extension=php_curl.dll
ok gracias, buscare mas a ver si puedo adaptar otra cosa :)
Saludos
Hazte la vida mas fácil
<?php
/* Tiempo límite de espera entre la conexión de 10 segundos */
$timeout = stream_context_create(array('http' => array('timeout' => 10)));
/* Verifica si la url existe */
if(@file_get_contents('http://imageshack.us/noexisto', 0, $timeout){
echo 'existe';
}else{
echo 'no existe'
}
?>
Por defecto la función file_get_contents debuelve un estado de error cuando la respuesta del host no es 200.
Cita de: WHK en 9 Enero 2010, 20:26 PM
Hazte la vida mas fácil
<?php
/* Tiempo límite de espera entre la conexión de 10 segundos */
$timeout = stream_context_create(array('http' => array('timeout' => 10)));
/* Verifica si la url existe */
if(@file_get_contents('http://imageshack.us/noexisto', 0, $timeout){
echo 'existe';
}else{
echo 'no existe'
}
?>
Por defecto la función file_get_contents debuelve un estado de error cuando la respuesta del host no es 200.
Gracias es exactamente lo que necesitaba! xD ahora solo debo entender tu funcion dese_hasta y listo xDDDD
Saludos