Tom's Guide > Forum > Programmation > renommer une fichier sur un ftp

renommer une fichier sur un ftp

Forum Programmation : renommer une fichier sur un ftp

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour,

j'essaye depuis plusieurs jours de renommer un fichier de mon espace web vers mon ftp, un shema sera plus adapté qu'un long discours barbant

home:

cgi-bin
steam/cstrike/cfg/mani_server.cfg
www/includes/listedit.php

le but de ma manoeuvre : renommer mani_server.cfg en mani_server1.cfg pour desactivé le plugin depuis ma page listedit.php
et
renommer mani_server1.cfg en mani_server.cfg pour activé le plugin depuis ma page listedit.php

voici le code :

<form method="post">
<input type="radio" name="mani" value="activé" id="activé"/><label for="activé">Activer Mani admin plugin</label><br />

<?php
$save_file = $_POST['save_file'];
$savecontent = $_POST['savecontent'];
if($save_file) {
$savecontent = stripslashes($savecontent);
$fp = @fopen($configx_cfg_locfi.''.$_GET['filed'], "w" );
if ($fp) {
fwrite($fp, $savecontent);
fclose($fp);
// Mise en place d'une connexion basique
$conn_id = ftp_connect($configx_ip);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $configx_cfg_user, $configx_cfg_pass);
$fpx3 = "ftp://".$configx_cfg_user.":".$configx_cfg_pass."@".$configx_ip."".$configx_cfg_remofi;
$fpx4 = "ftp://".$configx_cfg_user.":".$configx_cfg_pass."@".$configx_ip."".$configx_path_user."".$configx_cfg_remofi;

if(is_dir($fpx3)) {
if (ftp_put($conn_id, $configx_cfg_remofi.''.$_GET['filed'], $configx_cfg_locfi.''.$_GET['filed'], FTP_ASCII)) {
echo '<div style="color:'.$configx_font.'; font-family: verdana, arial, sans-serif;font-size:10px;">'.$_GET['filed'].' '.$lang_edt_saved.'</div>';
}
else echo '<div style="color:'.$configx_font.'; font-family: verdana, arial, sans-serif;font-size:10px;">'.$lang_edt_errop.' : '.$configx_s_locfi.' !</div>';
} elseif(is_dir($fpx4)) {
if (ftp_put($conn_id, $configx_path_user.''.$configx_cfg_remofi.''.$_GET['filed'], $configx_cfg_locfi.''.$_GET['filed'], FTP_ASCII)) {
echo '<div style="color:'.$configx_font.'; font-family: verdana, arial, sans-serif;font-size:10px;">'.$_GET['filed'].' '.$lang_edt_saved.'</div>';
}
else echo '<div style="color:'.$configx_font.'; font-family: verdana, arial, sans-serif;font-size:10px;">'.$lang_edt_errop.' : '.$configx_s_locfi.' !</div>';
} else {
echo '<div style="color:'.$configx_font.'; font-family: verdana, arial, sans-serif;font-size:10px;">'.$lang_edt_err.'</div>';
}
// Fermeture de la connexion
ftp_close($conn_id);
}
else echo '<div style="color:'.$configx_font.'; font-family: verdana, arial, sans-serif;font-size:10px;">'.$lang_edt_errop.'</div>';
}

$fpx = "ftp://".$configx_cfg_user.":".$configx_cfg_pass."@".$configx_ip."".$configx_cfg_remofi."".$_GET['filed'];
$fpx2 = "ftp://".$configx_cfg_user.":".$configx_cfg_pass."@".$configx_ip."".$configx_path_user."".$configx_cfg_remofi."".$_GET['filed'];
$fp = @fopen($fpx, "rb" );
$fp2 = @fopen($fpx2, "rb" );
if($fp) {
$file = $configx_cfg_remofi.''.$_GET['filed'];
$conn_id = ftp_connect($configx_ip);
$login_result = ftp_login($conn_id, $configx_cfg_user, $configx_cfg_pass);
$res = ftp_size($conn_id, $file);
ftp_close($conn_id);
$loadcontent = fread($fp, $res);
fclose($fp);
} elseif($fp2) {
$file = $configx_path_user.''.$configx_cfg_remofi.''.$_GET['filed'];
$conn_id = ftp_connect($configx_ip);
$login_result = ftp_login($conn_id, $configx_cfg_user, $configx_cfg_pass);
$res = ftp_size($conn_id, $file);
ftp_close($conn_id);
$loadcontent = fread($fp2, $res);
fclose($fp2);
}
else {
echo '<div style="color:'.$configx_font.'; font-family: verdana, arial, sans-serif;font-size:10px;">'.$lang_fonc_file.' '.$_GET['filed'].' '.$lang_fonc_nexist.' !</div>';
}


$old_file = 'mani_server.cfg';
$new_file = 'mani_server1.cfg';



// Tentative de renommage de $old_file en $new_file
if (@ftp_rename($conn_id, $old_file, $new_file)) {
echo "Mani admin plugin activé\n";
} else {
echo "Impossible d'activer Mani admin plugin\n";
}

// Fermeture de la connexion
@ftp_close($conn_id);
?>

aucune erreur php mais la fonction retourne false :


Activer Mani admin plugin
Impossible d'activer Mani admin plugin

je vois pas trop où j'ai fais une erreur,

je vais vous donner les variables :
$configx_ip = '91.xxx.xx.xx';
$configx_port = '22';
$configx_user = 'serv4';
$configx_pass = 'xxxxxxxxxx';
$configx_path_user = '/home/serv4/';
$configx_script = 'start-xxx';
$configx_s_locfi = 'tmp/start-xxx';
$configx_cfg_locfi = 'tmp/';
$configx_cfg_remofi = '/steam/cstrike/cfg/';
$configx_cfg_user = 'serv4';
$configx_cfg_pass = 'xxxxxxxxx';
$configx_cfg_path = '/';

en esperant que votre aide me sois utile.

P.S : je suis au bord de la crise de nerf -___-

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Tu utilise quel FTP?
Logiquement c'est clic droit, renommer!

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

le principe est que mes clients puisse activé ou désactivé ce plugin sans avoir a ce connecter sur mon ftp(je sais trés bien comment renomer un fichier ^^)

Répondre à guilty80100

j'ai poster ce message sur plus de 7 forum et à l'heure actuel personne n'a encore trouvé une solution, je desespere vraiment, je sais que le code a l'air long mais peut etre qu'on peux faire plus court, je sais vraiment pas comment m'en tirer la. En esperant que ce post ne tombe pas aux oubliettes.

Répondre à guilty80100

Tu as les droits de renommage sur ton serveur au moins ?
Ce ne sont pas les mêmes droits que ceux de lecture ou d'écriture, c'est un droit spécifique.

 

Si tu arrives à faire autre chose que du renommage, c'est que c'est bien un problème de droits sur le serveur FTP, à moins que le fichier que tu veuilles renommer n'existe pas (du genre pas dans le bon répertoire). :)


Message édité par CRicky le 14-11-2008 à 19:35:45
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

oui je suis en chmod 777 et le probleme vient sans doute de mon code, j'ai chercher partout comment renommer un fichier.
mon fichier cible est : "ftp://ks27121.kimsufi.com/steam/cstrike/cfg/mani_server.cfg"
et mon .php :
http://ks27121.kimsufi.com/~serv4/ [...] stedit.php

Répondre à guilty80100

je vais vous expliquer comment j'ai fait pour avoir ce code : a la base le code d'origine est pour éditer le contenu d'un fichier qui est dans "ftp://ks27121.kimsufi.com/steam/cstrike/cfg/"
on peux donc rajouter du texte et sa le sauvegarde directement sur le ftp
j'ai donc enlever les lignes de code pour éditer le texte et j'ai gardé le code pour me connecter récupérer le fichier et j'ai ensuite ajouter le code pour le renommer si je devrais comprimé mon code sa donnerais çà :

<?
fopen($configx_cfg_locfi.''.$_GET['filed'], "w" );
$conn_id = ftp_connect($configx_ip);
$login_result = ftp_login($conn_id, $configx_cfg_user, $configx_cfg_pass);
$oldfile = "ftp://ks27121.kimsufi.com/steam/cstrike/cfg/mani_server.cfg";
$newfile = "ftp://ks27121.kimsufi.com/steam/cstrike/cfg/mani_server1.cfg";
if (@ftp_rename($conn_id, $oldfile, $newfile)) {
echo "Mani admin plugin d'activé\n";
} else {
echo "Impossible d'activer Mani admin plugin\n";
}
ftp_close($conn_id);
?>

mais sa retourne toujours false et sa commence a me gonfler, sa fait presque une semaine que je galère la dessus.

Répondre à guilty80100

Je te parle des droits FTP d'accès aux fichiers, pas des droits système du fichier...
Prend un client FTP du genre Filezilla, connecte-toi au serveur FTP, et essaie de renommer à la main le fichier. Si tu n'as pas les droits de renommage, tu pourras mettre le code que tu voudras, ça ne fonctionnera pas...
Evidemment, si tu as les droits FTP de suppression du fichier et de création sur le répertoire, tu peux contourner le problème.


Message édité par CRicky le 14-11-2008 à 23:27:39
Répondre à CRicky
Tom's Guide > Forum > Programmation > renommer une fichier sur un ftp
Aller à :

Il y a 2435 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens