2015-06-30 50 views
0

所以我有上傳圖像到服務器的代碼,當我在Windows系統上測試它時,它實際上工作正常,但是一旦我將它放到Linux上,它就不起作用。所以問題在於它不會給我帶來任何錯誤,最後它會將鏈接放在數據庫上,但不會將圖像放在配偶所在的文件夾中。所以這個問題只是在服務器上傳圖片。 所以這裏是路徑和圖像下載的代碼。上傳文件在linux中不起作用

$path = "../users/".$IDN."/"; 
     if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['imgupload']['name'])) 
     { 
      $filename = $_FILES['imgupload']['name']; 

       $source = $_FILES['imgupload']['tmp_name']; 
       $target = $path.$filename; 
       move_uploaded_file($source, $target); 
// and other funny actions 
+0

Linux系統中是否存在路徑「../users」? –

+0

是的,這是,我只是想知道我有一個代碼,supsu上傳文件的錯誤,因爲在Windows中它工作正常 –

+0

你可以告訴我們什麼是'$ IDN'? –

回答

0

那個../users/$IDN的所有者/組是什麼?你可以打印出以下命令的輸出:

ls -l命令../users

還有什麼是你的web服務?它是Apache嗎?您的Web服務器運行的用戶名是什麼?

如果您的Web服務用戶無權寫入目標目錄,那麼除非您更改權限,否則無法真正寫入。

也嘗試將error_reporting更改爲您的php.ini中的ALL以查看錯誤消息。

+0

drwxr-xr-x 2用戶用戶4096 Jun 17 11:20 14 web服務器是apache。你能幫我改變web服務器的權限,我的用戶有權限,但是如何向apache添加權限? –

+0

你必須在../users/目錄下運行這個頂層目錄:chown -R apache:apache ../users;並且您必須是root或該目錄(用戶)的所有者。 –