0
我已經建立了一個插入圖像頁面(uploader.php)上一前一後的與關於設置一個PHP圖片上傳後,但我有幾個問題......
的代碼是:
<?php
$target = "images/test/";
$target = $target . basename($_FILES['photo']['name']);
$title=$_POST['title'];
$desc=$_POST['desc'];
$pic=($_FILES['photo']['name']);
mysql_connect("dbhost", "dbuser", "dbpass") or die(mysql_error()) ;
mysql_select_db("dbname") or die(mysql_error()) ;
mysql_query("INSERT INTO `test` VALUES ('$title', '$desc', '$pic')") ;
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{
echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
}
else {
echo "Sorry, there was a problem uploading your file.";
}
?>
<form enctype="multipart/form-data" action="uploader.php" method="POST">
Title: <input type="text" name="title"><br>
Description: <input type="text" name = "desc"><br>
Photo: <input type="file" name="photo"><br>
<input type="submit" value="Add">
</form>
所以第一個問題是,信息不被輸入到數據庫 - 表中有4個領域 - ID(INT),標題( varchar),desc(varchar)和photo(varchar)。是否因爲id字段沒有被指定?這只是表格的自動遞增主鍵。
第二個問題是,正在加載的圖像中包含空格 - 例如,在上傳"test image.jpg"
時 - 我想加入str_replace()
以創建"testimage.jpg"
。你知道我將它插入代碼的位置嗎?再次
感謝您的幫助,
JD
HMM的 - 我更新4行的建議和包括在str_replace函數,但..... 圖像被上傳(但不除去spaces-在服務器上仍然測試image.jpg的),並在數據庫中插入一行 - 但除了ID之外 - 所有字段都是空白的....!?我的代碼與上述內容完全相同,只是這些更改除外 – JD2011
您確定您的'$ _POST'值不是空的嗎?做一個'var_dump($ _ POST)'以確保這些值在那裏開始,並且在將它發送到'mysql_query()'之前回顯出你的SQL語句字符串' –
好吧,現在它已經工作 - 不知道我是什麼正在做 - 剛剛開始使用上面的代碼新鮮和圖像正確地放置在服務器上,細節正確地輸入到數據庫表中。 但是,由於某種原因,表中插入了兩行代碼 - 一個空白代碼和一個細節代碼 - 您是否清楚爲什麼會發生這種情況 - 如果有幫助,您可以通過上述線程發送完整的代碼。謝謝! – JD2011