Foros del Web » Programando para Internet » PHP »

Comprobar una url

Estas en el tema de Comprobar una url en el foro de PHP en Foros del Web. Pues la otra vez vi en un manual algo que comprobaba la direccion si existia o no, y no recuerdo donde, si alguien sabe como ...
  #1 (permalink)  
Antiguo 16/04/2003, 01:06
 
Fecha de Ingreso: diciembre-2002
Ubicación: Navojoa, Sonora, México
Mensajes: 60
Antigüedad: 15 años
Puntos: 0
Comprobar una url

Pues la otra vez vi en un manual algo que comprobaba la direccion si existia o no, y no recuerdo donde, si alguien sabe como es, se lo agredeceria mucho, gracias.
  #2 (permalink)  
Antiguo 16/04/2003, 02:45
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
FAQ 57: http://www.forosdelweb.com/showthrea...428#post333428
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 16/04/2003, 12:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con getimagesize() tambien se podría comprobar ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 16/04/2003, 12:54
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
!
__________________
Manoloweb
  #5 (permalink)  
Antiguo 16/04/2003, 13:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Mensaje Original por Manoloweb
!
Pruebalo:

Código PHP:
<?php
$filename 
'http://www.forosdelweb.com/images/profile.gif';

if (@
getimagesize($filename)) {
print 
"The file $filename exists";
} else {
print 
"The file $filename does not exist";
}
?>
(y getimagesize() NO es una función de las librerias GD .. )

Un saludo,

Última edición por Cluster; 16/04/2003 a las 16:25
  #6 (permalink)  
Antiguo 16/04/2003, 15:58
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Aunque eso solo aplicaría para archivos tipo imagen (jpg, gif, png), correcto?
__________________
Manoloweb
  #7 (permalink)  
Antiguo 16/04/2003, 16:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Sip, .. solo para imagenes ¬¬ .. ;(

Si son otro tipo de archivos .. habria q usar fopen() o file() y ver si al intentar abrir da o no error ...

O bien fsockopen() (abrir un socket) y recoger el código del error segun el protocolo HTTP ...(el 404 erro .. 200 exito... etc ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 18/04/2003, 21:10
 
Fecha de Ingreso: diciembre-2002
Ubicación: Navojoa, Sonora, México
Mensajes: 60
Antigüedad: 15 años
Puntos: 0
Hola, gracias cluster, el codigo sirvio como que mas o menos :S, por que lo puse igual, y dice que el archivo no existe, bueno, cree otro archivo parecido solo modifique un poco el codigo aqui esta el codigo
--------------------------
<?php
$filename = 'http://www.forosdelweb.com/images/buddy.gif';

if (@file($filename)) {
print "El archivo file $filename si esxiste";
} else {
print "El archivo $filename No existe";
}
?>
------------------------

pues me dice que el archivo no existe, cuando este si existe, bueno si le encuentran algun error me avisan porfa.
  #9 (permalink)  
Antiguo 18/04/2003, 21:29
 
Fecha de Ingreso: diciembre-2002
Ubicación: Navojoa, Sonora, México
Mensajes: 60
Antigüedad: 15 años
Puntos: 0
Gracias a todos, ya quedo todo resuelto
  #10 (permalink)  
Antiguo 18/04/2003, 21:45
 
Fecha de Ingreso: diciembre-2002
Ubicación: Navojoa, Sonora, México
Mensajes: 60
Antigüedad: 15 años
Puntos: 0
ayuda!

Ayuda!!!, resulta que estaba buscando la manera de comprobar una url, y encontre varias formas, pero todas dicen que el archivo no existe, podria alguien decirme el codigo exactoy que lo haya probado por favor, esto ya me causó dolor de cabeza
  #11 (permalink)  
Antiguo 18/04/2003, 22:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. y resolvistes el problema o NO? (junté estos dos mensajes .. porqué en uno dices q si .. y en otro q no ..)

Si no te quedó resuelto el problema .. QUITA el @ delante de las funciones que uses y pega en el for el error "textual" que te diga PHP ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 18/04/2003, 23:55
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 14 años, 7 meses
Puntos: 7
Jeje Cluster te acuerdas de que io preguinte lo mismo hace poco no? Pues aun sigo intentado que salga jajaja a ver si lo conseguimos xq fijo que debe de haber algo para comprobarlo !!
  #13 (permalink)  
Antiguo 19/04/2003, 00:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues claro Axo .. hay varias formas .. Pero si no describis el error que les sucede no podrémos ver la solución ..

Usa algunas funciones como file() .. o fsockopen() para abrir archivos REMOTOS, no todas las configuraciones de sus respectivos "PHP".ini pueden dejar hacer dicho uso.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 20/04/2003, 00:01
 
Fecha de Ingreso: diciembre-2002
Ubicación: Navojoa, Sonora, México
Mensajes: 60
Antigüedad: 15 años
Puntos: 0
Desacuerdo

Pues al principio crei que si lo habia logrado ya que puse una direccion falsa y decia que no existia, entonces pense que ya estaba listo, pero cuando puse una direccion correcta (un .exe), tambien me salia que no se podia :(, pues ese es el error que siempre dice que no existe aunque si exista :@, bueno aver si con eso me puedes ayudar Cluster......
  #15 (permalink)  
Antiguo 20/04/2003, 00:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si usastes getimagesize() para comprobar la existencia de archivos .. SOLO funciona con archivos tipo imagen ..

Así que usa la versión del file() ... o usa sockets .. Pero via sockets .. solo puedes comprobar dominios no archivos (por lo menos en mis pruebas no funcionó) ...

Código PHP:
<? 
$conexion 
= @fsockopen("www.algunaweb.com"80, &$errno, &$errstr30); 
if(
$conexion) { 
  echo 
"existe";
} else {
  echo 
"no existe";

?>
Ojo que las diercciones no han de ser http:// .. solo www.sitio.tal o sin www incluso ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 20/04/2003, 00:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con fopen() parece que funciona bien .. con archivos .exe o lo q sea...

Código PHP:
<?
$conexion
=fopen("http://the.earth.li/~sgtatham/putty/latest/alpha/plink.exe","r");

if (
$conexion){
    echo 
"existe";
} else {
    echo 
"no existe";
}
?>
Un saludo,

pd: .. Cuando veas que te funcione .. le pones un @ delante de fopen() para evitar el mensaje de PHP y dejar tu mensaje personalizado ...

otraPD: .. Justamente esta solución que te planteo es la misma que hay en las FAQ's de este foro y q te recomendaron en un principio ..
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 20/04/2003 a las 00:42
  #17 (permalink)  
Antiguo 20/04/2003, 03:38
 
Fecha de Ingreso: diciembre-2002
Ubicación: Navojoa, Sonora, México
Mensajes: 60
Antigüedad: 15 años
Puntos: 0
Pues eso tampoco me funciono :(, y lo que me dijiste de lo que venia en las faq's tambien lo habia intentado y no me funcionó :(, bueno checalo tu mismo....

http://taklez.webcindario.com/comprobar.php

Gracias de todos modos.
  #18 (permalink)  
Antiguo 20/04/2003, 20:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
¿ Parse error: parse error in /home/webcindario/taklez/comprobar.php on line 9 ?
Revisa bien como pegastes el código q te puse de ejemplo .. No tiene ningun error de Parser ..

Y fijate en la configuración de tu php (php.ini o phpinfo() ) .. si tienes activados los "wrappers" externos ..

allow_url_fopen = 1 (u ON)

ó
--disable-url-fopen-wrapper.

más info:
http://www.php.net/manual/en/ref.filesystem.php
http://www.php.net/manual/en/features.remote-files.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #19 (permalink)  
Antiguo 21/04/2003, 17:53
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 14 años, 7 meses
Puntos: 7
A mi si que me va bien pero a la hora de intentar ver los archivos que tengo en la BD y que estan borrado meidante una consultao como esta:

Código PHP:


  <?php

    $result 
mysql_query("SELECT * FROM $tabla ORDER BY nombre DESC",$link);

    while (
$row mysql_fetch_array($result))
{



        echo 
'<a href="'.$row["url"].'"><font size="2" color="#FFFFFF" face="Verdana">'.$row["nombre"].'';
     

        
$dire=$row["url"];
                
        
$conexi=fopen("$dire","r");

        if (
$conexi)
        
        {
        
        echo 
"Existe";
        
        } 
        
        else
        
        {
        
        echo 
"No existe";<br>
        
        }
        
        
fclose("$conexi");
        

}

?>

Me da error, xq puede ser? Supongo que xq tendre que hacer distincion entre archivos que empiezna x ftp//: http://...

PD: El error no lo peudo ver xq tiene desactivada ese modulo.
  #20 (permalink)  
Antiguo 21/04/2003, 18:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Axo .. para tu caso particular sería bueno que iniciases un nuevo tema ..

Y si tu servicio de hosting tiene desactivado el mostrar errore .. Activalo tu ..

Código PHP:
error_reporting(E_ALL); 
Usalo al principio de tu script .. No se puede programar "a ciegas " xD

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #21 (permalink)  
Antiguo 21/04/2003, 18:53
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Probaste hacer un echo a $row["url"].? Fijate que no tenga espacios en los costados.

Por el tema del protocolo, si intentas verificar un archivo que existe dentro de tu server, no uses http:// , sino la ruta relativa al script que se ejecuta. De lo contrario seria una perdida de tiempo.
En caso que sea un archivo externo, SI debes usarlo.

Fijáte tambien en el echo del link, no cerraste el tag <a> y <font>
Código PHP:
echo '<a href="'.$row["url"].'"><font size="2" color="#FFFFFF" face="Verdana">'.$row["nombre"].'</font></a>'
Saludos.
  #22 (permalink)  
Antiguo 26/04/2003, 21:15
 
Fecha de Ingreso: diciembre-2002
Ubicación: Navojoa, Sonora, México
Mensajes: 60
Antigüedad: 15 años
Puntos: 0
Por fin

Gracias Cluster , el problema era el servidor, miarroba ¬¬, gracias y perdon si te causé alguna molestia xD
  #23 (permalink)  
Antiguo 26/04/2003, 21:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
tavirus

No es ninguna molestia ayudar (sino no lo haría) ..

Supongo que ya habrás visto que hay que fijarse MUCHO en la configuración del servidor (de PHP) para ejecutar ciertas funciones. Todos estos detalles los comenta el manual oficial de PHP en la referencia oficial de cada función. A veces se usa mucho "tutorial" o "código suelto" que dice "funcionar" pero lo que no suelen decir (o avisar) que tal o cual función "funcina" si tal o cual(es) directiva(s) del tu php.ini están a cierto valor.

Esto es aplicable a tooooooodas las funcionalidades de PHP .. Así que para otra vez, ante la duda: www.php.net/manual y a buscar la documentación oficial de la función que te dé problemas (eso y tu phpinfo() a mano para verlo ...)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #24 (permalink)  
Antiguo 02/05/2003, 23:10
 
Fecha de Ingreso: mayo-2003
Ubicación: DF
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Cluster:
utilice el código que proporcionaste:
<?
$conexion=fopen("http://the.earth.li/~sgtatham/putty/latest/alpha/plink.exe","r");

if ($conexion){
echo "existe";
} else {
echo "no existe";
}
?>

en mi caso cuando no existe la URL se tarda cerca de n minutos, me da el siguiente error:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 256 bytes) in /var/www/html/php/exist/exist.php on line 32


Me pueden ayudar por favor?
  #25 (permalink)  
Antiguo 02/05/2003, 23:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tazz

prueba a "cerrar" la conexión (detallito q me dejé .. PHP cierra conexiónes de archivos/BD .. etc al terminar el script (en teoría ..) )

Código PHP:
// Usalo al final del if .. else ..
fclose($conexión); 
Otro detallito .. El modo de apertura del archivo (si es un binario: exe, jpg .. etc) .. Podrías probar a usar el modo "rb" en lugar de "r" ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 02/05/2003 a las 23:21
  #26 (permalink)  
Antiguo 28/04/2006, 09:35
Avatar de jim3481  
Fecha de Ingreso: agosto-2004
Ubicación: EEUU
Mensajes: 198
Antigüedad: 13 años, 3 meses
Puntos: 0
Amigos ayudenme con estE SCRIPT :(

Código PHP:
<?php  
$conexion 
= @fsockopen("myweb.5gigs.com"80, &$errno, &$errstr30);  

if(
$conexion
{  
  echo 
'<iframe marginwidth="0" marginheight="0" scrolling="no" frameborder=0 src="http://myweb.5gigs.com/look.php" width="453" height="208" AllowTransparency></iframe>';
}
  else { 
  echo 
'<font size="2" color=yellow>El link del iframe esta roto</font>'
}  
?>
Pero siempre me sale "El link del iframe esta roto" estando la ruta funcional

Gracias
__________________
Así como es característica de los grandes pensadores decir mucho en pocas palabras, las mentes pequeñas se distinguen por valerse de muchas palabras para no decir nada. :arriba:

(Francois VI-Duque de la Rochefoulcauld)
  #27 (permalink)  
Antiguo 28/04/2006, 11:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por jim3481
Amigos ayudenme con estE SCRIPT :(

Código PHP:
<?php  
$conexion 
= @fsockopen("myweb.5gigs.com"80, &$errno, &$errstr30);  

if(
$conexion
{  
  echo 
'<iframe marginwidth="0" marginheight="0" scrolling="no" frameborder=0 src="http://myweb.5gigs.com/look.php" width="453" height="208" AllowTransparency></iframe>';
}
  else { 
  echo 
'<font size="2" color=yellow>El link del iframe esta roto</font>'
}  
?>
Pero siempre me sale "El link del iframe esta roto" estando la ruta funcional

Gracias
Quita el @ a la función que fsockopen() y observa el mensaje de error que puedas tener. Eso dirá el problema concreto que tienes (pues la @ omite todo mensaje de error que puedas tener .. eso es bueno usarlo en "producción" .. cuando la función funciona pero no si tienes problemas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #28 (permalink)  
Antiguo 28/04/2006, 14:09
Avatar de jim3481  
Fecha de Ingreso: agosto-2004
Ubicación: EEUU
Mensajes: 198
Antigüedad: 13 años, 3 meses
Puntos: 0
amigo gracias x responder. me salio este error

Warning: fsockopen() has been disabled for security reasons in /usr/home/users/56/xxx/www/xxx.pandela.net/modulos/look.php on line 105
El Server se encuentra tenporalmente fuera de Servicio



en esta pagina tengo el iframe

xxx.pandela.net/modulos/look.php

q puede ser amigo?

Cita:
creo q es mi host?

el pandela.com tiene soporte para poder hacer ping a otro host?
__________________
Así como es característica de los grandes pensadores decir mucho en pocas palabras, las mentes pequeñas se distinguen por valerse de muchas palabras para no decir nada. :arriba:

(Francois VI-Duque de la Rochefoulcauld)

Última edición por jim3481; 28/04/2006 a las 14:50
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:55.