2011-05-14 88 views
0

先生,我想爲我的用戶圖像上傳系統。 我希望該圖像必須上傳到IMAGE文件夾中,並且它的位置鏈接假設將被複制到我的Mysql數據庫表中。 問題是該圖像上傳到IMAGE文件夾中的目錄,但在PHP MYSQL表中其鏈接不上傳或複製。上傳文件鏈接在PHP

這些腳本如下,請幫助解決這個:

表Page:

<form action="UplaodGallery_script.php" method="post" enctype="multipart/form-data" name="form" id="form"> 
       <table width="414" height="78" border="0" align="center" cellpadding="0"> 
        <tr> 
        <td width="111" height="15">Upload Photo :</td> 
        <td width="297"><label for="file"></label> 
         <input type="file" name="file" id="file"></td> 
        </tr> 
        <tr> 
        <td>Description :</td> 
        <td><label for="desc"></label> 
         <input type="text" name="desc" id="desc"></td> 
        </tr> 
        <tr> 
        <td>&nbsp;</td> 
        <td><p> 
         <input type="submit" name="button" id="button" value="Submit"> 
        </p></td> 
        </tr> 
       </table> 
       </form> 

UplaodGallery_script.php頁代碼

<?php require_once('Connections/conne.php'); ?> 
<?php 

if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/pjpeg")) 
&& ($_FILES["file"]["size"] < 20000000)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
    } 


    if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 


     } 
    } 

else 
    { 
    echo "Invalid file"; 
    } 


$path="upload/" . $_FILES["file"]["name"]; 
$desc=$_POST["desc"]; 

mysql_select_db("$database_conne"); 
mysql_query("INSERT INTO photo ('desc', 'photopath') VALUES ('$desc','$path')"); 

mysql_close ($conne); 
?> 
+0

首先進行基本調試。什麼*得到*複製到數據庫中?新的行看起來像什麼? – 2011-05-14 13:23:29

+2

另外,你的代碼容易受到SQL注入的攻擊:http://www.php.net/manual/en/security.database.sql-injection.php – 2011-05-14 13:24:16

+0

添加一個id字段會使它更容易在稍後刪除照片,加上使用mysql_real_escape_string($ desc)是必須的! – 2011-05-14 13:31:12

回答

0

Heyup,

在我看來,問題出在mysql_query("INSERT INTO photo ('desc', 'photopath') VALUES ('$desc','$path')");的代碼中。

願你試試:

mysql_query("INSERT INTO photo (`desc`, `photopath`) VALUES ('$desc','$path')"); 

,並看看會發生什麼?我在列名周圍反過來,這應該可以解決問題