【发布时间】:2017-11-10 13:23:55
【问题描述】:
我在 Ubuntu Linux 上使用 PHP 5 和 Codeigniter 3。
我需要在服务器上上传和存储用户文件,但在上传之前我需要为用户创建目录来存储文件。 目录名称基于使用 md5 散列的用户数据。
我也在检查目录是否已经在服务器上创建/存在,否则应该创建。
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");
}
}
当我运行代码时,它显示已创建,但我看不到目录。它不存在于上传/用户文件夹中。 请帮助我,我错在哪里。非常感谢
【问题讨论】:
-
这可能是您尝试在 apache 没有写入权限的文件夹内创建一个文件夹。即使 mkdir 不成功并且不指示任何内容,也会到达 print_r 语句。
-
如果目录不存在,您将被打印为“已创建”。这与在成功创建后打印“created”不同。
var_dump(mkdir(User_dir, 0777));我敢打赌你是假的。 -
Rimble 我想这不是问题。我有权在这些目录中写入。
-
是的,它返回 false mkaatman
标签: php codeigniter upload directory