2015-12-25 12 views
0

Je ne peux pas télécharger le fichier en utilisant php parce que je ne peux pas envoyer le chemin que je suis arrivé à partir du fichier html à la fonction ftp_put car il ne prend que la chaîne « test.txt »téléverser un fichier via FTP et php

Comment puis-je envoyer le chemin à cette fonction

PHP FICHIER

$file = $_POST["file"]; 

// upload file 
if (ftp_put($ftp_conn, $file, $file, FTP_BINARY)) 
    { 
    echo "Successfully uploaded $file."; 
    } 
else 
    { 
    echo "Error uploading $file."; 
    } 

// close connection 
ftp_close($ftp_conn); 

FICHIER HTML

<div class="container"> 
  
          <div class="row"> 
            <div class="col-lg-12"> 
               <form class="well" action="Upload.php" method="post" > 
                  <div class="form-group"> 
                    <label for="file">Select a file to upload</label> 
                    <input type="file" name="file" id="file"> 

                   <!-- <p class="help-block">Only jpg,jpeg,png and gif file with maximum size of 1 MB is allowed.</p> --> 
                  </div> 
                  <input type="submit" class="btn btn-lg btn-primary" value="Upload"> 
                </form> 
            </div> 
          </div> 
    </div> 
+0

je changé ces 2 mais toujours Notice: Undefined index: fichier upload.php sur la ligne 12 Avertissement: ftp_put(): Nom du fichier ne peut pas être vide dans upload.php en ligne 16 de téléchargement d'erreur. –

+0

que signifie tmp_name dans ce cas? –

+0

Ce n'est pas le problème que j'ai ajouté, mais toujours la même erreur –

Répondre

1

Utilisation $_FILES["file"]["tmp_name"] au lieu de $_POST["file"]

modifier:

$file = $_FILES["file"]["tmp_name"]; 
$file_name = $_FILES["file"]["name"]; 

// upload file 
if (ftp_put($ftp_conn, $file_name, $file, FTP_BINARY)) 

ou déplacer le premier fichier téléchargé:

$target_path = "uploads/".basename($_FILES["file"]["name"]); 
move_uploaded_file($_FILES["file"]["tmp_name"], $target_path); 
+0

Cela a fonctionné mais la sortie est C: \ xampp \ tmp \ php7A1D.tmpTransféré avec succès comment changer l'emplacement de tmp à la nom du fichier téléchargé –

+0

utilisez $ target_path;) – HQ5

+0

utilisez $ target_path après avoir déplacé le fichier à télécharger ou paramétrez le deuxième paramètre de ftp_put sur le nom de fichier. – HQ5

0

Changer votre balise de formulaire:

<form class="well" action="Upload.php" method="post" enctype="multipart/form-data"> 

Si vous n'incluez pas

enctype="multipart/form-data" 

rien ne sera téléchargé!

+0

je l'ai fait. mais ce n'est pas encore le problème le problème est d'obtenir le chemin depuis le HTML et de mettre dans la fonction FTP_PUT –

0

Vérifiez que le chemin est correct ... Je ne sais pas votre structure de fichier, donc je suppose que vous avez besoin du chemin complet, essayez ...

if (ftp_put($ftp_conn, getcwd().$file, $file, FTP_BINARY) 
+0

que signifie BINARY? pourquoi pas ASCII? –

+0

Binaire dans votre cas, si vous pouvez ouvrir le fichier dans le bloc-notes, c'est ascii. Si c'est du son, de l'image ou un film, alors c'est binaire –