Pinger une adresse DNS et retourner un gif 'online' ou 'offline' [PHP] - PHP - Programmation
Marsh Posté le 16-11-2002 à 16:47:24
personne n'a la moindre petite piste à me filer
Marsh Posté le 16-11-2002 à 17:22:36
sous reserve, jamais fait sur une url non valide.
|
essaie ca sur les url que tu veux tester, et affiche le contenu de $file pour voir si tu peux te debrouiller avec ca.
Marsh Posté le 16-11-2002 à 17:23:18
heu mais t'as juste défini 2 variables là nan
Marsh Posté le 16-11-2002 à 17:33:54
et jai été lire le contenu de l'url aussi.
je vais faire un tour sur PHP.net, je reviens
dans mon cas, je execute le .JS et recupere ce quil me renvoit pour le parser et recuperer les infos quil contient, et ainsi faire mon propre affichage. A la base, c un JS de pub qui affiche un top des ventes, maid la presentation ne me plait pas.
Marsh Posté le 16-11-2002 à 17:37:24
tu peux ouvrir un socket sur le port 80 (dans le cas d'un site web)
8.18.6 fsockopen
[Notes en ligne] [Exemples]
Ouvre une socket de connexion Internet ou Unix
int fsockopen (string udp://hostname , int port, int errno , string errstr , double timeout )
fsockopen() crée un flot de connexion à l'Internet (AF_INET) ou à un domaine Unix (AF_UNIX). Via Internet, cette fonction va ouvrir une socket de connexion TCP avec l'hôte hostname sur le port port. Pour les connexions UDP, vous devez explicitement spécifier le protocole : udp://hostname. Via un domaine Unix, hostname représente le chemin jusqu'à la socket, et port doit être mis à 0. L'option timeout sert à donner une durée maximale à cet appel.
fsockopen() retourne un pointeur de fichier qui peut être utilisé avec d'autres fonctions fichiers, telles que fgets(), fgetss(), fputs(), fclose() et feof().
Si l'appel échoue, fsockopen() retourne FALSE, et si les options errno et errstr ont été fournies, elles contiennent désormais les raisons de l'échec. Si l'erreur retournée est 0 et que la fonction retourne FALSE, c'est une indication d'erreur. C'est probablement du à une erreur d'initialisation de la socket. Notez que errno et errstr sont passées par référence.
Suivant les environnements, le type 'domaine Unix' ou l'option timeout ne sont pas toujours disponibles.
La socket sera ouverte par défaut en mode bloquant. Vous pouvez changer de mode en utilisant : socket_set_blocking().
Exemple avec fsockopen()
<?php
$fp = fsockopen("www.php.net", 80, &$errno, &$errstr, 30);
if(!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($fp,"GET / HTTP/1.0\n\n" );
while(!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
?>
L'exemple ci-dessous décrit comment lire la date et l'heure grâce à un service UDP "daytime" (port 13), sur votre propre machine.
Utilisation d'une connexion UDP
<?php
$fp = fsockopen("udp://127.0.0.1", 13, &$errno, &$errstr);
if (!$fp) {
echo "ERREUR: $errno - $errstr<br>\n";
} else {
fwrite($fp,"\n" );
echo fread($fp, 26);
fclose($fp);
}
?>
Note : Le paramètre timeout a été introduit en PHP 3.0.9 et le support UDP en PHP 4.
Voir aussi pfsockopen(), socket_set_blocking(), socket_set_timeout(), fgets(), fgetss(), fputs(), fclose() et feof().
Marsh Posté le 16-11-2002 à 17:41:10
$url="http://www.google.zob";
$file = @file($url);
if ($file == false) echo "OFFLINE"; else echo "ONLINE";
$url="http://www.google.fr";
$file = @file($url);
if ($file == false) echo "OFFLINE"; else echo "ONLINE";
Marsh Posté le 16-11-2002 à 17:56:24
z'êtes trop sympa mercite
Marsh Posté le 16-11-2002 à 21:56:15
bon finalement g fait ça :
Code :
|
sauf que chez free cette fonction n'est pas activée
Marsh Posté le 16-11-2002 à 22:05:35
skia de bien, c'est que cette question ne ressort pas 2 fois par mois
Marsh Posté le 16-11-2002 à 23:10:21
c de l'ironie ? je viens jamais ici
Marsh Posté le 16-11-2002 à 16:03:22
Voilà ça doit pas être super compliqué mais j'ai jamais fait de php, on m'a simplement dit que si je voulais faire ça ct en php
J'ai fait qqes recherches sur des php libraries mais sans succés
Je sais bien que vous n'êtes pas ici pour taper mon code à ma place mais une petite aide serait la bienvenue
---------------
The only thing necessary for the triumph of evil is for good people to do nothing.