Bonjour,
Mon code source récupère dans un fichier de configuration de serveur de jeu toutes les variables, suivant le fichier de configuration que je choisis, le nombre de variables changera, et le nom de celles-ci aussi
Le problème est : comment je fais pour récupérer toutes les valeurs de toutes les variables en récupérant bien sûr le nom?
Je fais une boucle pour chaque fichier, à chaque passage dans cette boucle, j'obtiens 2 variables : le nom de la variable de configuration + la valeur.
Je n'aurais donc pas de problèmes à envoyer toutes ces variables à une autre page, le problème vient de la récupération de tout ça de l'autre côté, étant donné que je ne connais pas le nombre de valeurs à récupérer, comment faire?
Le but de cette page est de modifier les valeurs puis de reconstituer le fichier .cfg et de le renvoyer sur l'espace ftp.
Si vous voyez une autre solution...
Voici mon code source :
Code PHP :
<?php
echo "Page pour les tests de config.cfg<br/><br/>";
$ConfigServeur = 'dx1.dox-serv.com'; //Adresse du serveur FTP
$ConfigId = 'staff_support'; //Compte utilisateur
$ConfigMdp = 'me7gug3m'; //Mot de passe
//Connexion au serveur FTP
if($Connexion = ftp_connect($ConfigServeur))
{
//Identification
if (@ftp_login($Connexion, $ConfigId, $ConfigMdp)) {
$repertoire = "/server_10/orangebox/cstrike/cfg";
$fichier = fopen("ftp://" . $ConfigId . ":" . $ConfigMdp . "@" . $ConfigServeur . "/server_10/orangebox/cstrike/cfg/dox_server2.cfg", "r");
echo "<form method = \"post\" action = \"modifier_cfg.php\">";
$cpt_lignes = 0;
while (!feof($fichier)) {
$ligne = fgets($fichier, 4096);
$fichier_total .= $ligne . "";
$nom_serveur = "";
// hostname "[FR] Only city_advanced - ShXCorp - Serveur 1 - by DoxServ.com"
// rcon_password "poel-bizou"
$str = explode(" ", $ligne);
$nom_variable = $str[0]; // le nom de la variable
if (count($str) > 2) { // on test si on a obtenu des espaces dans la valeur (comme dans le hostname)
for ($i = 0; $i < count($str); $i++) { // si on a repéré que c'est une variable composée d'espaces, on reconstitue cette valeur dans son intégralité
// on obtiendra donc le hostname d'origine
if ($i > 0) {
$nom_serveur .= $str[$i] . " ";
}
}
} else { // sinon, ça veut dire qu'on a une variable qui est composée d'un seul mot (ou chiffre)
$nom_serveur = $str[1];
}
$ctp_lignes++;
$nom_serveur = str_replace("\"", "", $nom_serveur); // on vire tous les guillemets, et on crée la ligne d'html pour afficher sur la page:
echo $nom_variable . " : <input type = \"textbox\" value = \"" . $nom_serveur . "\" name = \"" . $nom_variable . "\" size = \"" . strlen($nom_serveur) . "\"/><br />";
}
echo "<br /><input type = \"submit\" value = \"modifier\"";
echo "</form><br /><br />";
echo "<form method = \"post\" action = \"modifier_cfg.php?fichier=" . $fichier_total . "\">";
echo "fichier brut : (probleme a regler avec les retour chariots)<br /><br />";
echo "<textarea name = \"brut\" rows = \"" . $cpt_lignes . "\" cols = 150>" . $fichier_total . "</textarea><br /><br/>";
echo "<input type = \"submit\" value = \"envoyer\">";
echo "</form><br /><br />";
ftp_close($Connexion); //Deconnexion
}
else echo 'Connexion impossible en tant que '.$ConfigId;
}
else echo 'Impossible de se connecter à '.$ConfigServeur;
?>
J'espère que vous pourrez m'aider, merci et bon dimanche,
Calypso