2014-02-24 38 views
0

我已經創建了一個網站,您可以將圖片/文件上傳到服務器,數據庫會保存放置文件的位置。一切都保存在數據庫中,但文件不會保存在我的服務器中,該怎麼辦?文件不會保存在服務器中,該怎麼辦?

<?php 


$target = "bilder/"; 
$target = $target . basename($_FILES['photo']['name']); 

$name=$_POST['name']; 
$desc=$_POST['desc']; 
$pic=($_FILES['photo']['name']); 

mysql_connect("localhost", "root", "") or die(mysql_error()) ; 
mysql_select_db("david") or die(mysql_error()) ; 

mysql_query("INSERT INTO `bild` VALUES ('$name', '$desc', '$pic', NOW())") ; 

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
{ 

echo "The file ". basename($_FILES['photo']['name']). " was uploaded! <br>"; 
echo "Click " . '<a href="bilder.php">here</a>' . " to see all uploaded files<br>"; 
echo "Click " . '<a href="test.html">here</a>' . " to upload more files!"; 
} 

else { 
echo "Error."; 
} 
?> 
+1

您的應用程序(用戶)可能沒有足夠的權限訪問該目錄或目錄不存在,還請注意,$ _FILES是一個數組:http://www.php.net /manual/en/function.move-uploaded-file.php – Luceos

+0

代碼將打印「錯誤」或「單擊.......」? – TopCaver

+0

我如何更改權利? – user3327442

回答

0

確保將enctype屬性添加到提交給處理腳本的表單中。

做$ _FILES的的var_dump [「照片」] [「名」],以確保該文件也發送到您的處理。

1

大概權限被拒絕,打開「的display_errors =開」在php.ini文件中,你可能會得到一個警告消息。

嘗試"chmod 777 bilder/"

+0

我將其更改爲777,現在它可以將圖片/文件上傳到服務器,但我在另一臺計算機上嘗試過,它不會工作,有什麼想法? – user3327442

+0

@ user3327442你最好打開display_error,檢查是什麼原因。一個簡單的方法來打開display_errors開關:'ini_set(「display_errors」,0);'在代碼的開頭。然後,你會得到一些消息,發佈這些消息可能會幫助我們。 – TopCaver

+0

所以我應該輸入「ini_set(」display_errors「,0);」在php標籤之外? – user3327442

相關問題