Page 1 sur 1
Manipulation de fichier via FTP
Posté : 06 déc. 2010, 11:36
par Hellooow
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

...
A savoir que j'utilise fileZilla comme FTP.
Merci d'avance à ceux qui prendront le temps de m'aider !
Re: Manipulation de fichier via FTP
Posté : 06 déc. 2010, 11:53
par stealth35
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 
Re: Manipulation de fichier via FTP
Posté : 06 déc. 2010, 13:53
par Hellooow
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>
Re: Manipulation de fichier via FTP
Posté : 06 déc. 2010, 14:01
par Hellooow
Il y a aussi ce message :
Could not create file. in xxxxxx/test/testftp.php on line 29
Re: Manipulation de fichier via FTP
Posté : 06 déc. 2010, 14:16
par stealth35
faut demandé a la personne qui a créer le script
Re: Manipulation de fichier via FTP
Posté : 06 déc. 2010, 14:42
par Hellooow
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 !!
Re: Manipulation de fichier via FTP
Posté : 06 déc. 2010, 16:06
par stealth35
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

Re: Manipulation de fichier via FTP
Posté : 06 déc. 2010, 23:59
par moogli
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).
@+
Re: Manipulation de fichier via FTP
Posté : 07 déc. 2010, 11:45
par Hellooow
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 )
Re: Manipulation de fichier via FTP
Posté : 07 déc. 2010, 16:51
par moogli
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 /
@+