目录已创建,但在本地服务器上不存在-PHP
我在Ubuntu Linux上使用PHP5和Codeigniter 3 我需要上传和存储在服务器上的用户文件,但在上传之前,我需要为用户创建文件将存储的目录。 目录名基于用md5散列的userdata 另外,我正在检查服务器上是否已经创建/存在目录,否则应该创建目录已创建,但在本地服务器上不存在-PHP,php,codeigniter,upload,directory,Php,Codeigniter,Upload,Directory,我在Ubuntu Linux上使用PHP5和Codeigniter 3 我需要上传和存储在服务器上的用户文件,但在上传之前,我需要为用户创建文件将存储的目录。 目录名基于用md5散列的userdata 另外,我正在检查服务器上是否已经创建/存在目录,否则应该创建 public function uploadImage(){ $id = $this->session->userdata('id'); $dir_name = md5($id);
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文件夹中。
请帮帮我,我哪里错了。非常感谢使用FCPATH
public function uploadImage(){
$id = $this->session->userdata('id');
$dir_name = md5($id); // create hashed dir name
/*
You may need / after FCPATH
$user_dir = FCPATH . '/uploads/user/' . $dir_name;
*/
$user_dir = FCPATH . 'uploads/user/' . $dir_name;
// print_r($user_dir);
if(!file_exists($user_dir)){
mkdir($user_dir, 0777);
// @mkdir($user_dir, 0777, true);
print_r("created");
} else {
print_r("directory exists");
}
}
可能的重复可能是您试图在apache没有写访问权限的文件夹中创建一个文件夹。即使mkdir未成功且不表示任何内容,也会到达print_r语句。如果目录不存在,则会打印“created”。这与在成功创建后打印“已创建”不同<代码>变量转储(mkdir(User_dir,0777))代码>我打赌你得到的是假的。我想这不是问题。我要在这些目录中写入命令。是的,它返回false mkaatman