0
我在Ubuntu Linux上使用PHP 5和Codeigniter 3。目錄已創建,但不存在於本地服務器上 - PHP
我需要上傳和存儲服務器上的用戶文件,但在上傳之前,我需要爲將要存儲文件的用戶創建目錄。 目錄名稱基於用md5散列的userdata。
另外我檢查目錄是否已經創建/存在於服務器上,否則應該創建。
public function uploadImage(){
$id = $this->session->userdata('id');
$dir_name = md5($id); // create hashed dir name
$user_dir = base_url() . 'uploads/user' . '/' . $dir_name;
// print_r($user_dir);
if(!file_exists($user_dir)){
mkdir($user_dir, 0777);
print_r("created");
}else{
print_r("directory exists");
}
}
當我運行代碼時,它說創建,但我不能看到目錄。它不存在於uploads/users文件夾中。 請幫我,我在哪裏錯了。非常感謝
可能https://stackoverflow.com/questions/6449386/base-url-function-not-working-in-codeigniter重複 – pokeybit
這可能是因爲你正在嘗試在apache沒有寫入權限的文件夾內創建一個文件夾。即使mkdir沒有成功並且沒有任何指示,print_r語句也會到達。 – Rimble
如果目錄不存在,您將打印「已創建」。這與創建成功後創建的「創建」不同。 'var_dump(mkdir(User_dir,0777));'我打賭你錯了。 – mkaatman