Comteur qui se trouve sur un autre serveur

Eléphanteau du PHP | 44 Messages

29 août 2005, 23:14

Bojour a tous,

Bon voila je m'explique : J'ai crée un site qui se trouce sur un serveur 1 et comme l'espace disque est limité à 500mo les fichier a telecharger son stocker sur un serveur free donc serveur 2, et en faite pour pouvoir égayer ^^ mais telechargement jai mis un simple script qui explore le repertoire ou son les fichier donc sa me donne une liste.

Et en faite mon probleme est que il y a un compteur qui compte le nombre de fichier, et se compteur je souhaite le mettre sur mon serveur 1.

Donc comme les include ne marche pas d'un serveur à un autre, un amis ma dit que je peut utiliser la function fsockopen, mais le priobleme est la comment faire par la suite.

Merci pourvos reponse

Eléphant du PHP | 185 Messages

29 août 2005, 23:19


Eléphanteau du PHP | 44 Messages

29 août 2005, 23:37

Donc si je comprend bien, si je mais se bout de code :
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} 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);
}
?> 
Da peut jouer comme un include entre 2 serveur en gros je vais pouvoir mettre un variable qui se trouve sur un autre serveur ?

Eléphant du PHP | 185 Messages

29 août 2005, 23:41

Si ta page php du serveur 2 s'appelle "liste.php" et retourne la liste des fichiers séparés par "séparateur", alors il faudra faire ceci sur le serveur 2 pour récupérer le résultat:
<?php
$fp = fsockopen("serveur2(***.free.fr)", 80, $errno, $errstr, 30);
if (!$fp) {
   die("$errstr ($errno)<br />\n");
}
   $out = "GET /liste.php HTTP/1.1\r\n";
   $out .= "Host: ***.free.fr\r\n";
   $out .= "Connection: Close\r\n\r\n";

   fwrite($fp, $out);
   $resultat = '';
   while (!feof($fp)) {
   $resultat .= fgets($fp, 1024);
   }
   fclose($fp);

$resultat = explode("\r\n\r\n", $resultat);
$resultat = explode("séparateur", $resultat[1]);
// $résultat est un tableau contenant la liste des éléments souhaités
?>
Et tu ne récupères pas une variable, mais le code HTML généré par la page du serveur 2, càd ce qui s'afficherait dans ton navigateur si tu l'affichais directement.

Eléphanteau du PHP | 44 Messages

30 août 2005, 08:06

A ok merci beacoup pour votre aide je test sa de suite ;)