Vérifier l'existance d'un site web en PHP

Vous souhaitez recevoir de la part des visiteurs l'adresse de leurs site internet ? Seulement pas toujours facile de vérifier si le site en question existe réellement ou pas. Je vous propose donc un petit code qui "ouvre" le site internet afin de vérifier si il existe.

Voici le code :

<?php
function is_valid_url($url)
{
	if(empty($url))
		return false;
 
	if (strpos(strtolower($url), 'http://') !== 0)
		$url = 'http://'.$url;
 
	$connect = @fopen($url, 'r');
 
	if($connect)
	{
		fclose($connect);
		return true;
	}
	else
		return false;
}

Cette fonction renvoie "true" si l'ouverture du site s'est bien déroulée et "false" si on ne peut pas l'ouvrir.

Quelques exemples :

<?php
is_valid_url('http://www.maraumax.fr'); // Retourne true
is_valid_url('www.maraumax.fr'); // Retourne true
 
is_valid_url('exempledesitelabl'); // Retourne false
is_valid_url(''); // Retourne false
is_valid_url('http://mareaumaxsite.fr/'); // Retourne false

Après votre membre peut toujours "tricher" en utilisant un site qui n'est pas à lui. Seulement si par exemple l'adresse du site internet est optionnel et qu'elle a été renseigné, pensez à utiliser cette fonction avant de sauvegarder le site dans votre base !

Billets relatifs

2 Commentaire(s)

  1. Commenté par Matthieu le Wednesday 19 August à 21:11

    Merci, je n'avais jamais pensé a cette fonction.

    Je viens de l'ajouter au site ...

  2. Commenté par Shado le Wednesday 24 February à 19:23

    Merci. C'est cool.
    Mais si jamais l'url à tester fait une redirection vers une autre url, le script renvoie "false". Vous avez une idée pour y remédier?

  3. Réponse

    Logiquement fopen doit suivre les redirection. As-tu un exemple de site ?

Ajouter un commentaire





Les commentaires sont validés manuellement afin d'éviter le spam.