2013-11-02 50 views
0

所以我創建了幾個目錄和文件與FTP的,因此車主是我用來登錄到服務器的用戶名。現在我想讓網站用戶上傳圖片到這些目錄。不幸的是,該網站存儲圖像,它應該由Apache擁有。我怎樣才能解決這個問題?我一直在閱讀,但無法直接找到答案。PHP改變文件夾所有者到Apache

我沒有SSH,所以我想所有的命令行,事情並不適用於我。

編輯

我試圖然後進行再次使用Apache的文件夾,但現在ofcourse我可以用ftp到這些目錄中沒有寫任何文件。

回答

1

如果至少一個目錄是由apache用戶可寫(讓我們打電話這個目錄'writeabledir',i t可能是你的根目錄'/'),你必須刪除你通過ftp創建的文件夾並創建一個php腳本來創建你需要的目錄。 例如,如果您想要一個名爲users的目錄,並在其內部有另一個目錄upload

在您的服務器上創建文件makedirs.php。

<?php 
    $oldumask = umask(0); 
    mkdir("writeabledir/users/upload",0777,true); // or even 01777 so you get the sticky bit set 
    umask($oldumask); 
?> 

現在運行你的makedirs.php一次,通過調用your.serv.er/makedirs.php您的瀏覽器

編輯:

如果你不想刪除並重新創建目錄,你總是可以嘗試從ftp更改文件權限。

爲了檢驗FileZilla,只需右鍵單擊所需的文件夾並將權限設置爲777.如果您的ftp用戶沒有權限執行此操作,那麼除了要求管理員執行此操作外,沒有其他方法您。

EDIT2:

新增的umask以確保由阿帕奇創建的文件夾是每個人都寫。 (從http://us3.php.net/manual/en/function.mkdir.php#1207拍攝)

+0

但是沒有方法做到這一點,而無需拆卸和改造的目錄? – jdepypere

+0

@arbitter,我按照你的評論編輯了我的答案。你是我們正在談論的服務器的管理員嗎? – foibs

+0

這是一個共享服務器,所以我不是。我也無法使用ftp寫入使用mkdir創建的目錄。 – jdepypere

-1

朋友看我在PHP工作,一些版本改變的解決方式,但最常見的是已經要存儲,有必要建立一個數據庫,然後將其導入到ESU代碼,也用於一些圖片你想要來的地方,加上最明智的事情,你創建一個數據庫,其實現,導入,放在你的日程安排的文件目錄,你也建議使用aptana Studio 3大大促進代碼之間的創建許多事情和低xampp它已經與apache集成在一個地方將幫助你很多安裝問題只要看看他將描述的YouTube的

相關問題