> Manuales > Taller de PHP

Aprender a verificar su una URL es válida, es decir, si dada una dirección verificamos la existencia de esa URL, usando la función fopen de PHP.

Verificar la existencia de una URL en PHP

En este artículo vamos a crear una función para comprobar si una URL existe. Lo haremos con PHP y apoyados en una función que nos permite abrir archivos de texto. Es verdad que la URL es un archivo de un servidor remoto, pero es un archivo de texto al fin y al cabo y con PHP lo podemos abrir para realizar su lectura programáticamente.

Ya hemos visto las funciones de gestión de archivos más comúnmente utilizadas en PHP. Sirvámonos de la más clásica de todas ellas, fopen, para crear un script que verifique la existencia de una URL.

Este tipo de script puede ser utilizado para múltiples propósitos: Detectar si los enlaces están rotos, verificar una etapa de inscripción en un formulario...

En este caso, hemos simplificado al máximo su contenido de manera a poner evidencia su funcionamiento. Otro tipo de mejoras tales como la verificación de la extensión del archivo (.asp, .php, ...) o del protocolo de transferencia (http, ftp...) pueden ser introducidas afín de personalizar su uso para distintas aplicaciones.

A continuación podéis ver como quedaría el script:

<?php
function verificar_url($url)
{
   //abrimos el archivo en lectura
   $id = @fopen($url,"r");
   //hacemos las comprobaciones
   if ($id) $abierto = true;
   else $abierto = false;
   //devolvemos el valor
   return $abierto;
   //cerramos el archivo
   fclose($id);
}
?>
<html>
<head>
   <title>Verificacion de URL</title>
</head>
<body>
<?php
if (!isset($_POST["url"]))
{
?>
   <form action="enlace.php" method="post">
   Indica tu URL:<br>
   <input type="Text" size="25" maxlength="100" name="url" value="http://">
   <input type="Submit" value="Verificar!"
   </form>
<?php
}
else
{
   $url = $_POST["url"]
   $abierto = verificar_url($url);
   if ($abierto) {
       echo "La URL existe!";
   } else {
       echo "La URL no existe o es inaccesible...";
   }
}
?>
</body>
</html>

Hemos introducido en el mismo script que se encarga de verificar la URL el formulario que se encarga de recogerla. Así, podemos dividir el script en dos partes: Una primera que se encarga de recoger la URL en un campo texto y una segunda que es la que verdaderamente evalúa la existencia de la URL.

Para hacer más aplicable el script hemos dejado la evaluación propiamente dicha en forma de función que podréis copiar y pegar en vuestra librería particular. Como podéis ver, el modo de operar es extremadamente sencillo:

Como podéis ver el script no reviste ninguna dificultad y puede sernos muy práctico.

Rubén Alvarez

Rubén es doctor en química y programador aficionado con experiencia en PHP.

Manual