2017-04-17 25 views
1

Ich versuche Bild dynamisch zu laden. Der HTML-Code ist:move_uploaded_file() Funktion zeigt Fehler

<form method="post" action="" name="form1" id="form1" enctype="multipart/form-data"> 
    <label for "file">Select Picture</label><br> 
    <input type="file" name="file" id="file"><br> 
    <input type="hidden" value="<?php echo $_POST['pic'];?>" name="pic"> 
    <input type="submit" value="Upload" name="upload" id="upload"><br> 
</form> 

After I write the following code it is showing me the error: " move_uploaded_file() [function.move-uploaded-file]: The second argument to copy() function cannot be a directory " and "Unable to move 'C:\xampp\tmp\phpB67C.tmp' to 'images/' ". The php code for this is:

if(isset($_POST['upload'])){ 
    $pic=$_POST['pic']; 
    move_uploaded_file($_FILES["file"]["tmp_name"], "images/".$pic); //."jpg"); 
} 

Bitte sagen Sie mir, wie der Fehler zu entfernen und in der Lage sein, das Bild hinzuzufügen und anzuzeigen.

+0

Was bedeutet print_r ($ _ POST); gebe dir? – Sebastian

+0

es gibt mir Array ([pic] => [Upload] => Upload) – Shreya

+0

ändern isset ($ _ POST [ 'upload']) isset ($ _ FILES [ 'upload']) –

Antwort

1

Change Like This

Sie können den Dateinamen mit $_FILES["file"]["name"] Variable erhalten. also, wenn irgendeine Datei laden Sie haben mit dieser Methode Dateinamen zu erhalten und nicht erhalten mit $_POST

if(isset($_POST['upload'])) 
{ 
    $pic=$_FILES["file"]["name"]; 
    move_uploaded_file($_FILES["file"]["tmp_name"], "images/".$pic); //."jpg"); 
} 
+0

Aus Sicherheitsgründen helfen und Kollisionen zu verhindern, dass Sie nicht die ursprünglichen Dateinamen – Sebastian

+0

ok verwenden sollten, aber sie will den Fehler lösen, und es ist tatsächlich Code für diesen und wenn ändern Dateinamen ist es einfach 'Zeit einzustellen()' Funktion vor Dateinamen – ImBS

+0

Du hast recht. Ich wollte nur sagen, dass es sinnvoll ist – Sebastian

0

habe ich einige Änderungen vornehmen auf dem Formular

<form method="post" action="" name="form1" id="form1" enctype="multipart/form-data"> 
<label for "file">Select Picture</label><br> 
<input type="file" name="file" id="file"><br> 
<input type="hidden" value="<?php if(isset($name)){ echo $name; } ?>" name="pic"> 
<input type="submit" value="Upload" name="upload" id="upload"><br> 

und PHP-Code hier ist, die MyUploadFolder ändern Name des Ordnerpfad.

if(isset($_FILES['file']['name'])){ 
    $name= $_FILES['file']['name']; 
    $tmp_name = $_FILES['file']['tmp_name']; 

if(move_uploaded_file($tmp_name,"MyUploadFolder/".$name)) 
    { 
    echo 'Uploaded'; 
    } 
else{ 
    echo 'Please Choose a File'; 
    } 
} 
Verwandte Themen