Archivo de la etiqueta: url

Verificar si una url existe con php

Aquí os dejo unos códigos de ejemplo de formas de comprobar si una url existe y está disponible o no. Se puede hacer usando la función get_headers(), file_exists(),… También os dejo una función con la que únicamente se comprueba el formato de la url.

get_headers()

<?php
$url 'http://scriptsde.com';
function url_exists($url) {
    $h = get_headers($url);
    $status array();
    preg_match('/HTTP\/.* ([0-9]+) .*/'$h[0] , $status);
    return ($status[1] == 200);
}
echo url_exists($url)? 'existe' 'no existe';
?>

 

file_exists()

<?php
$nombre_fichero 'http://scriptsde.com';
if (file_exists($nombre_fichero)) {
    echo "El fichero $nombre_fichero existe";
else {
    echo "El fichero $nombre_fichero no existe";
}
?>

 

PHP+CURL

<?php
$url 'http://scriptsde.com';
    function url_exists($url) {
        $ch = @curl_init($url);
        @curl_setopt($ch, CURLOPT_HEADER, TRUE);
        @curl_setopt($ch, CURLOPT_NOBODY, TRUE);
        @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
        @curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $status array();
        preg_match('/HTTP\/.* ([0-9]+) .*/', @curl_exec($ch) , $status);
        return ($status[1] == 200);
    }
echo url_exists($url)? 'existe' 'no existe';
?>

 

Comprobando el formato de una url

<?php
$url 'http://scriptsde.com';
function isURL($url){
    $pattern='|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i';
    if(preg_match($pattern$url) > 0) return true;
    else return false;
}
?>

 

Espero que os haya sido útil. ¡Saludos!