2013-03-20 59 views
0

我正在爲學校的php文件工作。我們必須採取一種形式,並將名字,姓氏,電子郵件和照片添加到數據庫。我能夠將名稱,電子郵件添加到數據庫,但無法將圖像名稱添加到數據庫。這裏是php代碼和一些html的一部分。如果有人可以請看看並提供一些幫助。提前謝謝了。php插入文件

<?php include("db_connect.php");?> 
<?php // select the database in which to add a table 
mysql_select_db("final_exam_db",$con); 



$sql ="INSERT INTO drivers_0115061 (ln,fn,month,day,year,photo,email) 
VALUES ('".$_POST["ln"]."', 
    '".$_POST["fn"]."', 
    '".$_POST["month"]."', 
    '".$_POST["day"]."', 
    '".$_POST["year"]."', 
    '".$_POST['file']['photo']."', 
    '".$_POST["email"]."' 
    )"; 

//$sql="INSERT INTO people (fn,ln,dob,city,prov,pc,gender,hc,nod) VALUES ('steve','douglas',1234567,'winnipeg','manitoba','r3p 6g5','m','grey',2)"; 

//echo $sql; 


mysql_query($sql, $con); 
echo mysql_error(); 
?> 




<?php include("db_close.php");?> 

HTML: 
<td> 
Picture 
</td> 
<td> 
<input type="hidden" name="MAX_FILE_SIZE" value="10000000"/> 
<input type="file" id="photo" name="photo"/> 
</td> 
</tr> 
<tr> 
<td> 
+0

**什麼是「無法將圖像名稱添加到數據庫中」呢?**「無法將圖像名稱添加到數據庫中」對我們來說是不充分的說明了解問題。當你嘗試時發生了什麼?你得到不正確的結果了嗎?你有沒有得到結果?如果結果不正確,是什麼使它們不正確?你想要什麼呢?你有沒有得到任何正確的結果?如果是這樣,他們是什麼?你有錯誤嗎?不要讓我們猜測。 – 2013-03-20 03:05:16

+0

我沒有得到任何結果。將名字,姓氏和電子郵件添加到數據庫中,但圖像名稱沒有。數據庫中沒有錯誤,只是沒有圖像名稱。 – 2013-03-20 03:21:07

+0

文件名在$ _FILES數組中,而不是$ _POST數組。我假設你在某處有一個

2013-03-20 03:42:52

回答

-1

就做不同的出路

//be sure to add enctype in your form tag 
<form action="upload_file.php" method="post" enctype="multipart/form-data"> 
<input type="file" name="file" id="file"> 
</form> 

首先處理您的路徑和文件名到數據庫

$allowedExts = array("jpg", "jpeg", "gif", "png"); 
    $extension = end(explode(".", $_FILES["file"]["name"])); 
    if ((($_FILES["file"]["type"] == "image/gif") 
    || ($_FILES["file"]["type"] == "image/jpeg") 
    || ($_FILES["file"]["type"] == "image/png") 
    || ($_FILES["file"]["type"] == "image/pjpeg")) 
    && ($_FILES["file"]["size"] < 20000) 
    && in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
    echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 

    if (file_exists("upload/" . $_FILES["file"]["name"])) 
    { 
    echo $_FILES["file"]["name"] . " already exists. "; 
    } 
    else 
    { 
    //here is what actually you need to care , set your upload path from here 
    move_uploaded_file($_FILES["file"]["tmp_name"], 
    "your/upload/path/" . $_FILES["file"]["name"]); 
    echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
    } 
    } 
    } 
    else 
    { 
    echo "Invalid file"; 
    } 

如果一切運行良好,多數民衆贊成意味着你上傳的文件在這裏成功,你需要保存您的數據庫記錄與您的文件名

而且,只要你喜歡打電話給你的f ILE從數據庫爲此 獲取文件名

<img href="your/path/name/<?php echo $filenamefromdatabase; ?>" />