2013-01-07 140 views
0

因此,我正在嘗試開發一個腳本,其中所有用戶都可以將圖像上傳到動態創建的文件夾。無法使用mkdir創建目錄

這是我所做的。

$newID = 1 
mkdir('uploads/job_images/'.$newID.'/',0755); 

這會在已經設置好的「uploads/job_images」中創建一個文件夾。

我的問題是,如果「作業圖像」權限設置爲755或766,它不會讓我創建一個目錄。 但是當我嘗試將「job_images」權限設置爲777時,它允許我創建一個目錄。但他們說777是安全風險。爲什麼你認爲如果權限設置爲755,我不能在「job_images」內創建文件夾,但如果「job_images」權限設置爲777,允許我在「job_images」內創建文件夾?

創建的文件夾還具有設置爲99/99(無人)的「所有者/組」。那個車主組合好嗎?

問題:

  1. 我能做到這一點,而無需使用777「job_images」文件夾或者把它留給777的好嗎?
  2. 我是否需要更改創建的文件夾的所有者?我可能有一天需要刪除這些文件夾。
  3. 如何默認由網站用戶創建的文件夾組?
+0

什麼用戶/組下運行您的Web服務器?如果不是99/99,請嘗試將文件夾的所有權設置爲您的網絡服務器用戶/組 – PassKit

+0

不知道更多。但是有沒有需要的權限? –

回答

0

嘗試使用sudochown改變你的目錄到Apache(或運行代碼:)任何軟件/服務/守護所有權。如果您是該目錄的創建者,則不需要使用sudo(但在大多數Unix/Linux系統中,您還需要擁有目標組權限)。請參閱Numeric Notation of filesystem permissions。前7表示所有者組有權讀取,寫入和執行您的文件。 5意味着閱讀&執行,不寫,所以你不能建立新的目錄。

+0

你好,我沒有訪問根。我只有一個來自託管服務提供商的重新銷售帳戶。每隔不久的時間新文件夾都由不同的用戶創建,這是否意味着我需要每隔一段時間更改那些新創建的文件夾的組所有者? –

+0

嗨,如果你是文件的所有者 - 你仍然可以使用chown命令來更改所有者。在大多數Unix/Linux系統中,您還需要具有目標用戶/組權限。 – Infinity

+0

「5表示讀取並執行,無需寫入,因此您無法創建新目錄。」 那麼這意味着如果該文件夾設置爲755,沒有其他方法可以在文件夾內創建新目錄?對不起,我是新手。 –