Test de lien

gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007 - 4 oct. 2007 à 14:07
 malalam - 5 oct. 2007 à 20:18
Bonjour, je suis en galère, et il faudrait que je résolve mes 2 probs dans la journée.
Depusi Lundi, je cherche une sol pour mes 2probs en vain. Je réaliose un site pour un particulier, et il me reste a faire les 2 choses suivantes:
* enregistrer son identifiant et mot de passe pour que la question d'identification en soit plus posée lors d'une visite* si le lien correspondant a une caméra IP qui fourni les image en direct n'est plus valide parce que la caméra n'est plus accessible, j'affiche une image: Lien ON Caméra / Lien OFF Image

Je m'escuse, je suis un total grand novice dans le domaine, donc si quelqu'un peut m'aider, qu'il n'hésite pas a accentuer les explications

Je vous remercie par avance

74 réponses

codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 10:44
par hasard, tu ne pourrais pas désactiver l'authentification (juste pour les tests) histoire de savoir si le script pour ta webcam marche, ensuite on essayera de trouver une solution pour l'authentification.

C'est possible ?
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 10:52
c fait, normalement, il y a plus besoin d'identification
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 10:57
Normallement, ca devrait marcher, le script me retourne true
Faudrait essayer avec la webcam inactive.

Je te laisse essayer.

Voici le code :
if (($rFOpen fopen ('tonUrl', 'r')) true) {
    fclose ($rFOpen);
    echo "La webcam est en cours de fonctionnement !";
}
else {
    echo "La webcam est actuellement éteinte";
}

Teste avec la webcam allumé et éteinte et tiens moi au courant
on verra apres le probleme d'authentification :)
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 11:03
je viens de désactiver la caméra comme je le peux a distance. Le prob, c que le site me dis juste que le délais de connexion a la caméra a dépassé. Donc je en sais pas si sa va siffire. Sinon, il suffit d'enlever une lettre a l'adresse, histoire d'être sur qu'il ne trouve rien, et sa sera comme si la cam est HS.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 11:12
oué mais le liens marche, donc maintenant, faut voir si la méthode marche avec la caméra active et non-active, tu vois ce que je veux dire ?
La méthode avec fopen marche, maintenant faut tester avec l'activité de la webcam
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 11:23
c bien comme sa que je l'écrit, parce que sa ne marche pas :(
<FRAMESET BORDER="0" ROWS="1000,320">
<FRAMESET border=0 frameSpacing=0 rows=446,* frameBorder=NO cols=640,*>
<FRAMEif (($rFOpen fopen ('http://***.org:8000', 'r')) true) {
    fclose ($rFOpen);
    echo "La webcam est en cours de fonctionnement !";
}
else {
    echo "La webcam est actuellement éteinte";
}
>
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 11:26
faut mettre toute l'adresse, pas juste ***:8000 mais l'url complete vers l'image
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 11:30
oui oui, elle est complète dans mon test
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 11:32
et je récupère un page blanche sans rien dessus
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 11:33
parce que chez moi ca marche a peu pres
j'ai un "ca marche" quand elle était active
et maintenant que tu l'a désactivé, le script attends jusqu'à Max execution time.
(c'est d'ailleur le probleme, c'est que ca bloque le script ...)
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 11:34
J'avais pas vu mais ton code, faut ouvrir le php !! :

<FRAMESET BORDER="0" ROWS="1000,320">
<FRAMESET border=0 frameSpacing=0 rows=446,* frameBorder=NO cols=640,*>
<FRAME border="0" rows=*,*>
<?phpif (($rFOpen fopen ('http://***.org:8000', 'r')) true) {
    fclose ($rFOpen);
    echo "La webcam est en cours de fonctionnement !";
}
else {
    echo "La webcam est actuellement éteinte";
}

?>
</frame>

et le fichier doit etre en .php !!
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 11:43
soit je me tire une balle, soit je me fait une étiquette avec écrit GROS MONGOLLE dessus. J'arrive pas a afficher un soupçon de quelques chose. C'est bien comme sa, dans ma fenètre htm:

<META content="MSHTML 6.00.6000.16525" name=GENERATOR>
<SCRIPT LANGUAGE=php SRC="webcam_f_fichiers/fichier.js"> </SCRIPT>
</HEAD>
 


<FRAMESET BORDER="0" ROWS="1000,320">
<FRAMESET border=0 frameSpacing=0 rows=446,* frameBorder=NO cols=640,*>
<FRAME border="0" rows=*,*>
<?phpif (($rFOpen fopen ('http://www.google.fr', 'r')) true) {
    fclose ($rFOpen);
    echo "La webcam est en cours de fonctionnement !";
}
else {
    echo "La webcam est actuellement éteinte";
}
?>
</FRAME>

</FRAMESET>
</FRAMESET>
</HTML>
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 11:45
attends, on va jouer autrement.
Fait un nouveau fichier test.php

et met ca dedans :

<?phpif (($rFOpen fopen ('http://www.google.fr', 'r')) true) {
    fclose ($rFOpen);
    echo "La webcam est en cours de fonctionnement !";
}
else {
    echo "La webcam est actuellement éteinte";
}
?>

Tu a bien un serveur wamp d'installé et tu passe bien par http://localhost/ton_url_vers_ton_fichier_test/test.php ?
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 11:50
heu non, ma page est réalisée a l'aide de lien htm directement, que je chargerais une fois opérationnelle. Je n'ai pas de fichier.php
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 11:55
pour faire marcher du code php (ce que je t'ai donné) il faut renommer ton fichier en .php et passer par un serveur.
Voila pourquoi tu n'avais rien qui s'affichait :p
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 12:16
je viens de fair eun test avec  easy php, et sa ne me fais rien du tout
même avec une adresse con comme www.google.fr
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 12:17
j'ai rien dit, c bon :p
vais essayer maintenant en faisant afficher ma cam si le lien est bon, et voire sil me rep autre chose si elle est OFF
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 12:22
verdict
si ma cam est allumée, il me dit qu'elle est éteinte, et quand je l'éteint, il me dit qu'il y a une erreur sur mon adresse
0
gouille Messages postés 55 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 15 novembre 2007
5 oct. 2007 à 12:38
<!--StartFragment --> 
Warning: fopen(): php_network_getaddresses: gethostbyname failed in d:\program files\easyphp1-8\www\new folder\webcam_f.php on line 2

Warning: fopen(http://***.org:8000/ImageViewer?Resolution=320x240&Quality=Standard&Size=STD&PresetOperation=Move&Data=0&Frame2=PanTilt&Type=&Language=7&RPeriod=3&Sound=Enable): failed to open stream: No such file or directory in d:\program files\easyphp1-8\www\new folder\webcam_f.php on line 2
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 oct. 2007 à 13:27
on approche :)

Ok, finalement, ni fopen, ni fsockopen ne marche, car fsockopen ouvre un serveur, et fopen ouvre un fichier. Si ce fichier n'existe pas, alors fopen tourne jusqu'au temps d'éxécution maximum. Donc c'est foireux.

Du coup j'ai fait une fonction, et ca marche nikel, ca va voir si le fichier existe sur un serveur. Si oui, alors returne true, sinon return false.

voila le code :

function online_file_exist ($sUrl, $iPort = 80) {
    if (!is_string ($sUrl)) {
        die ('Invalide paramètre. Le premier paramètre doit être un String');
        return false;
    }
    else if (!is_int ($iPort)) {
        die ('Invalide paramètre. Le second paramètre doit être un entier');
        return false;
    }
    else {
        preg_match ('#\/\/(.*)\/(.*)#', $sUrl, $sUrlInfo);
        $sServerSplit = explode (':', $sUrlInfo[1]);
       
        $sServerName = $sServerSplit[0];
        if (isset ($sServerSplit[1]))
            $iPort = $sServerSplit[1];
   
        $sFilePath = $sUrlInfo[2];
                if (($rSock @fsockopen($sServerName, $iPort)) false) {
            die ('Impossible d\'ouvrir '.$sServerName.'. Le server n\'est pas accessible');
            return false;
        }
   
        $sRequest = 'GET /'.$sFilePath.' HTTP/1.1'."\r\n";
        $sRequest .= 'Host: '.$sServerName."\r\n";
        $sRequest .= 'Connection: Close'."\r\n\r\n";
   
        if (!@fwrite ($rSock, $sRequest)) {
            die ('Impossible d\'envoyer la requête !');
            return false;
        }
   
        $sHttpResponse = @fgets($rSock, 128);
        @fclose($rSock);

        if (strpos ($sHttpResponse, '200') !== false)
            return true;
        else
            return false;
    }
}

Pour l'utiliser tu fait :

if (online_file_exist ('tonurl', tonport)) {
    // le fichier existe
}
else {
   // Le fichier n'existe pas
}

a savoir que si "tonurl" contient :8000 (le port 8000), la variable contiendra 8000 (peut importe ce que tu aura mis dans le paramètre 'tonport') ex :

online_file_exist ('http://www.google.fr:5656', 80);
le port sera ..... 5656 du coup tu peux enlever le port :
online_file_exist ('http://www.google.fr:5656'); suffit ! :)
ou
online_file_exist ('http://www.google.fr', 5656);

wala, tiens moi au courrant !
0
Rejoignez-nous