Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2010, 13h37   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 0
Points : 0
Par défaut Manipulation de fichier via FTP

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, j'ai trouvé des exemples de script, mais j'avoue ne pas tout saisir, si quelqu'un pouvait éclairer ma lanterne ...

A savoir que j'utilise fileZilla comme FTP, et que lorsque j'essaye ce code, je me retrouve confronter à une erreur ligne 29, apparemment l'upload ne marche simplement pas... Si quelqu'un en donnait la raison, ou peut me proposer un autre script / exemple, j'implore votre aide

Merci d'avance de votre attention


Code :
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
<?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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 13h42   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

Citation:
je me retrouve confronter à une erreur ligne 29
peux tu nous dire quel est le message d'erreur ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 13h45   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par syl2095 Voir le message
Bonjour, peux tu nous dire quel est le message d'erreur ?
Bonjour, merci de ta réponse rapide, voilà mon message d'erreur :

Code :
Warning: ftp_put() [function.ftp-put]: Could not create file. in /homez.103/xxx/xxx/xxx/test/testftp.php on line 29
Hellooow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 13h59   #4
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
as tu les droits d'écriture dans le dossier concerné ?

le chemin vers le chemin concerné est il correct ? ( pas d'espaces, accents... )
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 14h11   #5
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par syl2095 Voir le message
as tu les droits d'écriture dans le dossier concerné ?

le chemin vers le chemin concerné est il correct ? ( pas d'espaces, accents... )
Alors, tous les droits étaient activés à part ceux pour les groupes, que j'ai donc activé aussi. Maintenant quand je lance mon fichier PHP, je me retrouve avec ce message d'erreur :

Citation:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, postmaster@www.xxxxx.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Peut-être juste un bug momentané ? ^^'
Hellooow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 14h28   #6
Membre régulier
 
Inscription : octobre 2010
Messages : 101
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : octobre 2010
Messages : 101
Points : 71
Points : 71
Tu devrais vérifier la valeur de la variable MAX_FILE_SIZE dans ton php.ini, elle désigne la taille max du fichier que tu peux uploader. Compare cette valeur à la taille du fichier que tu tentes d'upload.

Je ne dis pas que ça résoudra ton problème mais ça peut-être une piste.
proxichou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 14h53   #7
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par proxichou Voir le message
Tu devrais vérifier la valeur de la variable MAX_FILE_SIZE dans ton php.ini, elle désigne la taille max du fichier que tu peux uploader. Compare cette valeur à la taille du fichier que tu tentes d'upload.

Je ne dis pas que ça résoudra ton problème mais ça peut-être une piste.
non je ne pense pas, j'essaye juste d'upload un .txt avec 3 mots dedans ^^'


personne d'autres ne peut m'aider ?
Hellooow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 15h17   #8
Membre régulier
 
Inscription : octobre 2010
Messages : 101
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : octobre 2010
Messages : 101
Points : 71
Points : 71
Il faudrait trouver le fichier error log du serveur histoire d'en savoir un peu plus sur l'erreur.
proxichou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h54.


 
 
 
 
Partenaires

Hébergement Web