Manipulation de fichier via FTP

Hellooow
Invité n'ayant pas de compte PHPfrance

06 déc. 2010, 11:36

Salut à tous,

je débute en php, et j'aurais besoin de manipuler des fichiers php ( upload un fichier, le supprimer, le modifier, voir sa taille, son contenu et même l'éditer dans un second temps ) et je ne sais pas du tout par ou commencer, j'ai fait plusieurs recherches sur google, j'ai trouvé des exemples de script, mais j'avoue ne pas tout saisir, si quelqu'un pourrait éclairer ma lanterne :oops: ...

A savoir que j'utilise fileZilla comme FTP.

Merci d'avance à ceux qui prendront le temps de m'aider !

ViPHP
ViPHP | 5462 Messages

06 déc. 2010, 11:53

hello, c'est quasiment la même chose que pour manipuler un fichier normale, sauf que ca commencera par ftp://, sinon y'a toujours l'extension ftp :wink:

Hellooow
Invité n'ayant pas de compte PHPfrance

06 déc. 2010, 13:53

Merci de ta réponse, j'ai pu trouvé un exemple de script, mais malheureusement je n'arrive pas à upload mon ficher, il m'indique simplement : "FTP upload of $myFileName has failed!" (donc à priori tout se passe bien lors de la connexion etc), et je ne vois pas pour quelles raisons ca pourrait échouer :S

Merci encore de votre aide.

Code : Tout sélectionner

<?php //-- SMTP Mail Function By Aditya Bhatt if(isset($_POST['SubmitFile'])){ $myFile = $_FILES['txt_file']; // This will make an array out of the file information that was stored. $file = $myFile['tmp_name']; //Converts the array into a new string containing the path name on the server where your file is. $myFileName = basename($_FILES['txt_file']['name']); //Retrieve filename out of file path $destination_file = $_REQUEST['filepath'].$myFileName; #"/developers/uploadftp/aditya/".$myFileName; //where you want to throw the file on the webserver (relative to your login dir) // connection settings $ftp_server = trim($_REQUEST['serverip']); //address of ftp server. $ftp_user_name = trim($_REQUEST['username']); // Username $ftp_user_pass = trim($_REQUEST['password']); // Password $conn_id = ftp_connect($ftp_server) or die("<span style='color:#FF0000'><h2>Couldn't connect to $ftp_server</h2></span>"); // set up basic connection #print_r($conn_id); $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) or die("<span style='color:#FF0000'><h2>You do not have access to this ftp server!</h2></span>"); // login with username and password, or give invalid user message if ((!$conn_id) || (!$login_result)) { // check connection // wont ever hit this, b/c of the die call on ftp_login echo "<span style='color:#FF0000'><h2>FTP connection has failed! <br />"; echo "Attempted to connect to $ftp_server for user $ftp_user_name</h2></span>"; exit; } else { // echo "Connected to $ftp_server, for user $ftp_user_name <br />"; } $upload = ftp_put($conn_id, $destination_file, $file, FTP_BINARY); // upload the file if (!$upload) { // check upload status echo "<span style='color:#FF0000'><h2>FTP upload of $myFileName has failed!</h2></span> <br />"; } else { echo "<span style='color:#339900'><h2>Uploading $myFileName Completed Successfully!</h2></span><br /><br />"; } ftp_close($conn_id); // close the FTP stream } ?> <html> <head></head> <body> <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST"> Server IP Address: <input name="serverip" type="text" id="serverip" size="15" value=""/><br> Server Username: <input name="username" type="text" id="username" size="15" value=""/><br> Server Password: <input name="password" type="text" id="password" size="15" value=""/><br> Server File Path: <input name="filepath" type="text" id="filepath" size="35" value=""/><br> Please choose a file: <input name="txt_file" type="file" id="txt_file" tabindex="1" size="35" onChange="txt_fileName.value=txt_file.value" /><br><br> <input name="txt_fileName" type="hidden" id="txt_fileName" tabindex="99" size="1" /> <input type="submit" name="SubmitFile" value="Upload File" accesskey="ENTER" tabindex="2" /> </form> </body> </html>

Hellooow
Invité n'ayant pas de compte PHPfrance

06 déc. 2010, 14:01

Il y a aussi ce message :

Could not create file. in xxxxxx/test/testftp.php on line 29

ViPHP
ViPHP | 5462 Messages

06 déc. 2010, 14:16

faut demandé a la personne qui a créer le script

Hellooow
Invité n'ayant pas de compte PHPfrance

06 déc. 2010, 14:42

Ok, mais j'aurais du mal à lui demander je pense ^^

En attendant, personne n'a un exemple, une explication ou un script à me donner pour que j'avance ?

Merci d'avance !!

ViPHP
ViPHP | 5462 Messages

06 déc. 2010, 16:06

Ok, mais j'aurais du mal à lui demander je pense ^^

En attendant, personne n'a un exemple, une explication ou un script à me donner pour que j'avance ?

Merci d'avance !!
tout est expliquer dans les liens que j'ai fournis :wink:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 déc. 2010, 23:59

perso je viens de tester ton code (juste copier coller dans un fichier.php) et cela fonctionne au poil !

je te conseil donc de vérifier le chemin que tu utilise pour déposer ton fichier il ne doit pas être bon (par exemple /sous repoertoire du site/etc).

@+
Il en faut peu pour être heureux ......

Hellooow
Invité n'ayant pas de compte PHPfrance

07 déc. 2010, 11:45

perso je viens de tester ton code (juste copier coller dans un fichier.php) et cela fonctionne au poil !

je te conseil donc de vérifier le chemin que tu utilise pour déposer ton fichier il ne doit pas être bon (par exemple /sous repoertoire du site/etc).

@+

Okay, merci à toi d'avoir pris le temps d'essayer.

On est bien d'accord que le ' Path file ' que je dois indiquer et le même que celui que je rentre dans mon navigateur Internet pour accéder à l'arborescence des fichiers ? (http://www.xxxx.com/maxhin/truc ou alors ftp.xxx.com/machin/truc )

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

07 déc. 2010, 16:51

non justement c'est un chemin qui commence à la racine du répertoire utilisateur de l'utilisateur ftp.

donc en gros tu te connecte avec filezilla et tu copie le chemin distant dans ton code ;)
/!\ il s'agit d'un chemin à la méthode unix avec des /

@+
Il en faut peu pour être heureux ......