recherched'url existante ou non

marilou
Invité n'ayant pas de compte PHPfrance

20 déc. 2005, 20:44

Bonjour, voila j'aimerais savoir de quel façon on pouvais tester un nom de domaine à l'aide de php. J'ais recherché sur google sans résultat. Si quelqu'un peut m'aiguiller ou me renseigner?
Merci

Eléphanteau du PHP | 27 Messages

20 déc. 2005, 21:16

tu lui demande l'url

tu le redirige dessus

si erreur 404 , c'est que le domaine existe pas :wink:
le jour où on mettra les cons sur orbite, t'auras pas fini de tourner

marilou
Invité n'ayant pas de compte PHPfrance

20 déc. 2005, 21:19

J'aimerais creer une fonction de type :
$url = $_POST['url'];
Teste de $url
si $url existe $test=1 sinon $test=0
Merci

Eléphanteau du PHP | 27 Messages

20 déc. 2005, 22:06

ouais il faudrait une fct en php du genre du ping de dos

il teste si le site répond mais je sais pas si ca exsite en php
le jour où on mettra les cons sur orbite, t'auras pas fini de tourner

Mammouth du PHP | 1311 Messages

20 déc. 2005, 22:14

si tu peut le faire grace au socket
recherche sur le forum il y a un code tres bien qui a été fait par rami ou ripat

marilou
Invité n'ayant pas de compte PHPfrance

20 déc. 2005, 23:46

Ok merci je me suis renseigné sur le socket et j'ais trouvé quelques tuto mais j'arrive à chaque fois sur la même erreur :

Code : Tout sélectionner

Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in c:\program files\easyphp1-7\www\mon-club\hebergement.php on line 56 Warning: fsockopen(): unable to connect to www.occasion-ne.com:80 in c:\program files\easyphp1-7\www\mon-club\hebergement.php on line 56
Voici le code :
			<?php
$fp = fsockopen("www.occasion-ne.com", 80, $errno, $errstr, 30);
if (!$fp) {
   echo "";
} else {
   $out = "GET / HTTP/1.1\r\n";
   $out .= "Host: www.example.com\r\n";
   $out .= "Connection: Close\r\n\r\n";

   fwrite($fp, $out);
   while (!feof($fp)) {
       echo fgets($fp, 128);
   }
   fclose($fp);
}
?> 
Lorsque que le site n'est pas accessible j'aimerais ne récupérer qu'un "0"

ViPHP
ViPHP | 649 Messages

20 déc. 2005, 23:54

J'ai cherché : php tester url sur :google:, premier résultat:
http://www.phpindex.com/trucsetastuces/ ... element=55

Ça a l'air de convenir à ce que tu veux faire non?
Image

Eléphanteau du PHP | 27 Messages

21 déc. 2005, 00:23

si tu installais déja la dernière version d'easy-php pour être déja à jour à ce niveau

de plus, l'utilisation de cette fonction ne demande pas l'ajout d'une extension php en plus ?? (configuration/extensions PHP)
le jour où on mettra les cons sur orbite, t'auras pas fini de tourner

Mammouth du PHP | 1311 Messages

21 déc. 2005, 00:25

voici le code que j'ai trouver sur le forum
function monTestPage($site, $page, $timeout = 10){
	list($usec, $sec) = explode(" ", microtime());
	$t0 = ((float)$usec + (float)$sec);
	$fp = fsockopen($site, 80, $errno, $errstr, $timeout);
	if (!$fp) {
		$return= false;
	} else {
		$return['serveur'] = 'Connexion serveur OK';
		$header = "GET $page HTTP/1.1\r\n";
		$header .= "Host: $site\r\n";
		$header .= "Connection: Close\r\n\r\n";
		fputs($fp, $header);
		stream_set_timeout($fp, $timeout);
		$reponse = fgets($fp, 128);
		list($usec, $sec) = explode(" ", microtime());
		$t1 = ((float)$usec + (float)$sec);
		$info = stream_get_meta_data($fp);
		if ($info['timed_out']) {
			$return['msg'] = "Le délai de réponse de la page ".$site.$page.
			' a dépassé le timout de '.$timeout.' sec.';
		}else{
			$return['reponsePage']  = $reponse;
			$return['tempsReponse'] = $t1 - $t0;
		}
		fclose($fp);
	}
	return $return;
}

ViPHP
ViPHP | 649 Messages

21 déc. 2005, 00:31

si tu installais déja la dernière version d'easy-php pour être déja à jour à ce niveau
C'est à moi que tu parles? admettons que oui... Je suis bien désolé cher amis mais il y'a difficilement plus à jour que moi en matière de serveur: Apache 2.0.55, mysql 5.0, php... et en plus, quel est le rapport?

Extension supplémentaires? non, pas du tout, c'est une fonction créer par un gentil programmeur, toute simple. J'ai moi-même testé la fonction, elle fonctionne super bien.
Image

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

21 déc. 2005, 01:47

si tu installais déja la dernière version d'easy-php pour être déja à jour à ce niveau
C'est à moi que tu parles? admettons que oui...
Je ne pense pas que GillouX s'adressait à toi mais à marilou
Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in c:\program files\easyphp1-7\www\mon-club\hebergement.php on line 56
Pas la peine d'étaler tout ton matériel et avant qu'il n'y ait quiproquo :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
pjl
ViPHP | 2119 Messages

21 déc. 2005, 09:51

Un script tout simple de naholyr :
http://www.nexen.net/scripts/details.php?scripts=41

Eléphant du PHP | 76 Messages

21 déc. 2005, 10:09

ouais il faudrait une fct en php du genre du ping de dos

il teste si le site répond mais je sais pas si ca exsite en php
nan... Pour peu que le serveur ait un firewall qui refuse de base l'ICMP, il ne répondra pas le ping... :)
La vie est une maladie mortelle sexuellement transmissible!

Eléphanteau du PHP | 27 Messages

21 déc. 2005, 10:24

ouais il faudrait une fct en php du genre du ping de dos

il teste si le site répond mais je sais pas si ca exsite en php
nan... Pour peu que le serveur ait un firewall qui refuse de base l'ICMP, il ne répondra pas le ping... :)
ok ok , je proposais juste, je début en php alors je ne connais pas toutes ses poss :wink:
le jour où on mettra les cons sur orbite, t'auras pas fini de tourner

Eléphant du PHP | 76 Messages

21 déc. 2005, 10:32

ouais il faudrait une fct en php du genre du ping de dos

il teste si le site répond mais je sais pas si ca exsite en php
nan... Pour peu que le serveur ait un firewall qui refuse de base l'ICMP, il ne répondra pas le ping... :)
ok ok , je proposais juste, je début en php alors je ne connais pas toutes ses poss :wink:
Pas de soucis... MAis ca n'a rien a voir avec le PHP... même sous DOS, tu fais un ping http://www.p-o.be il ne te répondra rien et si tu le fais dans un navigateur tu auras le site correspondant... :) Donc oui, c'était une idée, mais elle est directement coupée du à l'ICMP qui en fait est le protocole utilisé pour les ping :)
La vie est une maladie mortelle sexuellement transmissible!