Les sockets

Résolu
RMOINAS Messages postés 98 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 16 septembre 2006 - 1 juin 2005 à 07:51
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 2 juin 2005 à 21:02
Bonjour



Alors voilà j'ai une question sur les sockets.

J'ai fait un code en php qui ouvre un sockets et qui ensuite télécharge un fichier :

Le probleme s'est que sa ne marche pas:



Voilà le code:



<?php



//exemple de récupération d'un document via http

// en utilisant directement les sockets



$serveur = "uploadbm.free.fr";

$document = "/";



echo " Lecture de $serveur$document
";



$idsocket = fsockopen($serveur, 80, $codeerreur, $msgerreur,,"uploadbm");

if ($idsocket) {

echo "La connection via la socket a achouée.
";

echo "Code d'erreur: $codeerreur
";

echo "message d'erreur: $msgerreur
";

}



//configuration de la connexion

//en mode bloquant

//et avec un timeout de 5 minutes

socket_set_blocking($idsocket, TRUE);

socket_set_timeout($idsocket, 5, 0);





//envoi de données au serveur

fputs($idsocket, "GET $document HTTP/1.1\r\n");

fputs($idsocket, "Host: localhost\r\n");

fputs($idsocket, "\r\n");



//lecture de la reponse

while (!feof($idsocket)) {

$donnees = fgets($idsocket, 512);

echo "<xmp>$donnees</xmp>";

}

?>



comme vous pouvez le voir pour le moment il affiche se qu'il a sur l'écran (ensuite tout sa seras enregistrer dans un fichier)



Donc le probleme s'est que quand je mets serveur = "uploadbm.free.fr"
il me mets une erreur 400 et si je mets serveur =
"http://uploadbm.free.fr" il me met:



Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/free.fr/a/1/uploadbm/download.php on line 11





Warning: fsockopen(): unable to connect to http://uploadbm.free.fr:80 in /var/www/free.fr/a/1/uploadbm/download.php on line 11





Warning: socket_set_blocking(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 21





Warning: socket_set_timeout(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 22





Warning: fputs(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 26





Warning: fputs(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 27





Warning: fputs(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 28





Warning: fputs(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 29





Warning: feof(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 32





Warning: fgets(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 33


<xmp></xmp>

Warning: feof(): supplied argument is not a valid stream resource in /var/www/free.fr/a/1/uploadbm/download.php on line 32



Or je n'arrive pas a comprendre pourquoi l'adresse free ne marche pas
pourriez vous m'éclaircir et me dire comment je pourrai faire
fonctionner le code ??



merci d'avance et @++

7 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 juin 2005 à 20:28
Salut,



j'ai jamais réussi à faire fonctionner les fsockopen avec les adresses free perso...



Bref tentes autre chose, genre un fopen avec une url distante, car là tu n'as rien ouvert en fait, d'où tes erreurs.
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 juin 2005 à 21:02
non

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
3
Ok merci donc j'ai essayer fopen et sa marche



Par contre une question comment je fait pour creer un fichier sur mon ordinateur grace au php ??

Car j'ai essaye la focntion open mais sa ne marche pas:



$ouvert2 = fopen("c:\\text.txt", "a+");



S'est la fonction que j'utilise pour créer mon fichier mais il ne veut pas.



@++
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 juin 2005 à 18:56
mets-toi en mode w+ au lieu de a+

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0

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

Posez votre question
RMOINAS Messages postés 98 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 16 septembre 2006
2 juin 2005 à 19:08
Sa ne marche toujours :



je vais essayer de m'expliquer mieux j'ai mis le script sur un serveur
free et j'aimerais que se script créer un nouveau fichier sur le client
( donc moi et tout les visteurs du site) mais la le code que j'ai fait
me mets le fichier sur le serveujr et non pas dans le lecteur C de mon
pc.



Est-il possible de faire en sorte que le fichier soit créer sur mon pc.

Si oui comment ??



@++
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 juin 2005 à 19:18
Non la tu peux pas...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
RMOINAS Messages postés 98 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 16 septembre 2006
2 juin 2005 à 19:28
Hum alors est-ce que il existe un language qui me permettrai de faire cela ?? (js, asp, etc)
0
Rejoignez-nous