我有一個用戶系統,當你註冊一個賬戶時,它應該爲你自動創建一個新的文件夾。如何讓CodeIgniter創建新文件夾?
我的東西放在一起的mkdir的線( './上傳/'。$這個 - >會話級>用戶數據( 'ID'),0,真)在我註冊控制器但徒勞無功。
有人知道如何讓它工作嗎?
我有一個用戶系統,當你註冊一個賬戶時,它應該爲你自動創建一個新的文件夾。如何讓CodeIgniter創建新文件夾?
我的東西放在一起的mkdir的線( './上傳/'。$這個 - >會話級>用戶數據( 'ID'),0,真)在我註冊控制器但徒勞無功。
有人知道如何讓它工作嗎?
您是否設置了正確的權限? Codeigniter或任何其他PHP腳本,由於CHMOD值不正確而不允許創建任何文件或目錄。在大多數情況下,755或775的值應該可以做到。您可以使用命令行或使用FTP應用程序更改這些值(大多數應用程序可以這樣做)。還要確保所有者或組被設置爲與運行Web服務器時相同的用戶(大多數情況下爲www-data)。
實例:
chmod -R 775 /var/www/username/codeigniterapp.com/some_dir
可以用 「CHOWN」 命令改變它的組/用戶:
chown -R www-data:someuser /var/www/username/codeigniterapp.com/some_dir
注意,-R標誌指示命令遞歸執行本身。如果您只想更改頂級目錄的權限,則可以簡單地刪除-R標誌。
你有沒有嘗試設置權限在創建文件夾,像做:
mkdir('./upload/' . $this->session->userdata('id'), 0777);
我有一個大膽的想法,但可能是你的問題的完美解決方案。它從一開始就正確地設置了權限。我的想法是使用CodeIngniter的FTP類,然後用FTP創建目錄。
$this->ftp->mkdir('/public_html/profile_pictures/username/', DIR_WRITE_MODE);
然後用下面的代碼跟進,使允許值777
$this->ftp->chmod('/public_html/profile_pictures/username/', DIR_WRITE_MODE);
然後刪除該目錄也很容易。
$this->ftp->delete_dir('/public_html/profile_pictures/username/')
就像我說的很瘋狂的想法!