目录已创建但在本地服务器上不存在 - PHP

时间:2017-06-08 17:39:58

标签: php codeigniter upload directory

我在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");
        }
 }

当我运行代码时,它表示已创建,但我无法查看目录。它在uploads / users文件夹中不存在。 请帮助我,我错了。非常感谢

1 个答案:

答案 0 :(得分:0)

使用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");
    }
}