2017-09-30 1 views
0

J'essaie de télécharger un fichier sur mon serveur php, puis de retourner le nom du fichier à afficher dans le document html. Mais je reçois le texte suivantTélécharger le fichier sur le serveur et renvoyer le nom du fichier

`error: Objektet wasn't found! The requested address was not found on this server. The link on the previous page appears to be incorrect or out of date Error 404 

localhost 
Apache/2.4.27 (Win32) OpenSSL/1.0.2l PHP/7.1.8` 

Mon html Doc

<html> 
    <body> 
     <form method="post" enctype="multipart/form-data" action="server.php"> 
     <input type="file" name="fileToUpload" id="fileToUpload" size="35"> 
     <br> 
     <br> 
     <input type="submit" value="Upload" name="submit"> 
    </body> 
</html> 

Mon php doc

<?php 
header('Content-type: text/plain'); 
    if(isset($_POST["fileToUpload"])){ 
     $file = $_FILES["fileToUpload"]; 
     echo("File: ".$file); 
    } 
?> 

Répondre

1

Vous avez beaucoup d'erreurs dans php

<?php 
if(isset($_FILES["fileToUpload"])){ 
     $file = $_FILES["fileToUpload"]["name"]; 
     echo "File: ".$file; 
    } 
?> 

html

<html> 
    <body> 
     <form method="post" enctype="multipart/form-data" action="server.php"> 
     <input type="file" name="fileToUpload" id="fileToUpload" size="35"> 
     <br> 
     <br> 
     <input type="submit" value="Upload" name="submit"> 
    </body> 
</html> 

Erreurs

1. if(isset($_POST["file"])){ son postez pas, il devrait être $_FILES["fileToUpload"]) depuis son chargement d'un fichier

  1. $file = $_FILES["file"]; anf dans votre code HTML que vous avez défini le nom de fichier comme fileToUpload mais votre accessign nom inconnu il devrait donc être $file = $_FILES["fileToUpload"]["name"];
+0

Ye désolé à ce sujet, je vais mettre à jour la réponse, je viens de changer le nom. ne résout toujours pas mon problème – Amar

+0

@ Amar.please copier coller mon code .i l'ai testé fonctionne très bien – iCoders

+0

Vous avez raison, cela fonctionne. Désolé pour mon ignorance. Je vais mettre votre réponse comme solution dès que je peux – Amar

0

Dans votre script PHP que vous demandez un nom de formulaire qui ne fait pas t existe. Dans votre formulaire, la variable s'appelle fileToUpload mais dans votre script vous vérifiez $_POST['file'].

En outre, le fichier global $ _FILES est un tableau contenant des informations sur le fichier. Vous ne pouvez donc pas utiliser echo pour afficher son contenu. Utilisez echo $_FILES['fileToUpload']['name'] puisque $_FILES['formFieldName']['name'] affichera le nom d'origine du fichier sur l'ordinateur client.