2015-02-08 38 views
0

我使用以下php代碼上傳圖像,但文件未獲取上傳。圖像未能在PHP中上傳

if(isset($_POST['submit'])){ 
    $title = $_POST['title']; 

    $target_folder = "../newsimageuploads/"; 
    $bannerimagelink = "http://example.com/newsimageuploads"; 

    $bannerimage = addslashes(file_get_contents($_FILES['bannerimage']['tmp_name'])); 
    $bannerimage_name = addslashes($_FILES['bannerimage']['name']); 
    $bannerimage_size = getimagesize($_FILES['bannerimage']['tmp_name']); 

    if ($bannerimage!=""){ 

    $rand = rand(111111, 9999999); 
    $fname = $_FILES["bannerimage"]["name"]; 
    $newname = "Image ".$rand.".png"; 

    move_uploaded_file($_FILES["bannerimage"]["tmp_name"], $target_folder.$newname); 
    $bannerimage_location = $bannerimagelink."/".$newname; 
    } 

    $query =mysql_query("INSERT INTO mytable (title,image) VALUES ('$title','$bannerimage_location')")or die(mysql_error()); 
    if (($query) === TRUE) { 
    echo "<p style='color:green;'>Added Successfully</p>"; 
    } else { 
    echo "Some Error Occured :("; 
    } 
} 

而我的HTML部分是

<form action="#" method="post"> 
    <input type="text" name="title"> 
    <input type="file" name="bannerimage" accept="image/jpeg,image/png,image/gif"> 
    <button type="submit" name="submit">Add</button> 
</form> 

我的頭銜是在MySQL表中獲取插入,但像沒有。

+0

我想你應該通過圖像作爲一個blob,而不是傳遞一個文件路徑。 – 2015-02-08 10:48:33

回答

1

你在你的表格丟失enctype='multipart/form-data'

<form action="#" method="post" enctype="multipart/form-data"> 

here更多細節

+1

這解決了我的問題......謝謝一噸:) – IAmAndroid 2015-02-08 10:53:35

1

添加

enctype="multipart/form-data" 

到窗體標籤。沒有這個屬性,你只會得到文件的名字。但文件本身不會被上傳。

1
<form action="#" method="post" enctype="multipart/form-data"> 
<input type="text" name="title"> 
<input type="file" name="bannerimage" accept="image/jpeg,image/png,image/gif"> 
<button type="submit" name="submit">Add</button>