8768 sujets

Développement web côté serveur, CMS

Bonjour,

Après avoir testé et retesté le code ci-dessous,
force de reconaître que je n'y arrive pas..
Pouvez-vous m'aider à solutionner ce petit code ?

En effet, je tente de vérifier l'existence d'une page internet.
Pour l'histoire, l'url de la page utilisée existe vraiment,
mais pour le code, la réponse n'est pas ma même...
Pour le code, la page n'existe pas !

Pouvez-vous m'aider à y voir plus clair ?
Un grand merci par avance.


	ini_set("memory_limit","450M");
	ini_set('display_errors','on');
	error_reporting(E_ALL);

//  Version du programme : 20150220
//	php 5.5


	$fichier = "http://www.creaprint.be/index.php";
    echo "***".is_page($fichier)."***";
	exit;
	
function is_page($url) {
    $url = parse_url($url);
    $socket = fsockopen($url['host'], 80);
    $req = "GET ".$url['path']." HTTP/1.1\r\n";
    $req .= "Host: fr.php.net\r\n";
    $req .= "Connection: Close\r\n\r\n";
    fwrite($socket, $req);
	switch (fgets($socket, 13)) {
		case "HTTP/1.1 200":
			$etat = "";
			break;
		default:
			$etat = "Erreur";
	}
	return $etat;
}

Modifié par jytest (12 Mar 2015 - 09:30)
Bonsoir,

Je trouve que vous vous compliquez la vie....

Si vous faites:

$handle = fopen("http://www.example.com/", "r");


vous passez en paramètre de fopen l'URL à tester....

Vous saurez si l'URL est valide....

A+
jytest a écrit :

Après avoir testé et retesté le code ci-dessous,
force de reconaître que je n'y arrive pas..


Tu aurais du le relire plutôt que de le retester. Smiley langue

Ton code fonctionne mais tu as oublié de changer le domaine à la ligne :


$req .= "Host: fr.php.net\r\n";

// devrait être :
$req .= "Host: ". $url['host'] ."\r\n";