IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[FTP] Renommer un fichier sur un ftp depuis php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut [FTP] Renommer un fichier sur un ftp depuis php
    Bonjour,

    Tout d'abord je ne savais ou mettre mon sujet, je l'ai mis ici, si un admin trouve qui n'est pas à sa place, je ne serais pas contre qu'il soit mit dans le sous forum adéquate.

    Bon voila mon problème :

    j'essaye depuis plusieurs jours de renommer un fichier de mon espace web vers mon ftp, un schéma 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 manœuvre : renommer mani_server.cfg en mani_server1.cfg pour désactiver 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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $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 espérant que votre aide me soit utile.

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

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut
    si jamais mon code vous donne la nausé voici une version allégé pour que vous compreniez ce que je veux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?
    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);
    ?>

  3. #3
    Membre éprouvé Avatar de TiEuAM
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Par défaut
    Salut,
    c'est peu etre bien ton chemin qu'il n'aime pas, essai voir de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $oldfile = "/steam/cstrike/cfg/mani_server.cfg";
    $newfile = "/steam/cstrike/cfg/mani_server1.cfg";

    Si le répertoire /steam/cstrike/cfg/ est manipulable par php (droits, user, group), et ces deux fichiers aussi, tu peu éventuellement te servir de la fonction rename de php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rename("/steam/cstrike/cfg/mani_server.cfg", "/steam/cstrike/cfg/mani_server1.cfg");

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut
    sa a marcher !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <? 
    if(!$_GET['filed']) {
    	$_GET['filed'] = "mani_server.cfg";
    }
     
     ?>
     
    <form method="post">
    <input type="radio" name="mani" id="active" value="actif"
    <?
    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 = "/steam/cstrike/cfg/mani_server.cfg";
    $newfile = "/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);
    ?>
    /> activer mani
     
    <br /><input type="submit" value="valider" />
    </form>
    EDIT : Sa a marcher dans un sens mais pas dans l'autre, j'arrive a changer mani_server1.cfg en mani_server.cfg mais pas l'inverse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <? 
    if(!$_GET['filed']) {
    	$_GET['filed'] = "mani_server.cfg";
    }
     ?>
    <form method="post">
    <input type="radio" name="mani" id="active" value="actif"
    <?
    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 = "/steam/cstrike/cfg/mani_server.cfg";
    $newfile = "/steam/cstrike/cfg/mani_server1.cfg";
    if (@ftp_rename($conn_id, $oldfile, $newfile)) {
     echo "Mani admin plugin désactivé\n";
    } else {
     echo "Impossible de désactiver Mani admin plugin\n";
    }
    ftp_close($conn_id);
    ?>
    /> activer mani<br />
    <input type="radio" name="mani" id="active" value="actif"
    <?
    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 = "/steam/cstrike/cfg/mani_server1.cfg";
    $newfile = "/steam/cstrike/cfg/mani_server.cfg";
    if (@ftp_rename($conn_id, $oldfile, $newfile)) {
     echo "Mani admin plugin activé\n";
    } else {
     echo "Impossible d'activer Mani admin plugin\n";
    }
    ftp_close($conn_id);
    ?>
    /> desactiver mani<br />
     
    <br /><input type="submit" value="valider" />
    </form>

  5. #5
    Membre éprouvé Avatar de TiEuAM
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Par défaut
    Mouarf, si ça marche dans un sens, ya pas de raison que l'inverse soit pas lol.

    Regarde au niveau de tes conditions lorsque le form est recu, pour bien retrouver le bon sens.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut
    sa vient peux etre de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <? 
    if(!$_GET['filed']) {
    	$_GET['filed'] = "mani_server.cfg";
    }
     ?>
    quand je rajoute $_GET['filed'] = "mani_server1.cfg"; a mon code sa bug, je sais pas comment faire pour que les 2 fichier soit pris en compte

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FTP] Uploader et renommer un fichier sur un FTP
    Par mickdu90 dans le forum Langage
    Réponses: 5
    Dernier message: 19/04/2006, 11h56
  2. [FTP] liste de fichier sur un serveur ftp
    Par nicoaix dans le forum Langage
    Réponses: 9
    Dernier message: 22/12/2005, 13h19
  3. Réponses: 15
    Dernier message: 01/09/2005, 11h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 12h55
  5. [] [Réseau] Transfert fichier sur un FTP
    Par CYFL dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 26/02/2003, 18h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo