Search code examples
phpfunctioncodeignitermkdir

PHP mkdir not working in if statement


Why is my mkdir not working within the if(is_dir) function but it is working above it with just the single line?

mkdir($location.$folderName, 0777);

            if(!is_dir($folderName))
            {   
                mkdir($location.$folderName, 0777);

            }else{

            //Set File Settings 
              $config['upload_path'] = $location.$folderName; 
              $config['allowed_types'] = 'jpg|png|pdf'; 
              $config['file_name'] = $folderName.'_'.$concept;
              $config['remove_spaces'] = TRUE;
              $config['overwrite'] = TRUE;
              $config['max_size'] = '1024'; 
              $config['max_width'] = '1024'; 
              $config['max_height'] = '768'; 

              $this->load->library('upload', $config); 

                print_r($config);

              if(!$this->upload->do_upload($conceptOne)) { #= try upload

                $data['uploadError'] = array('uploadError' => $this->upload->display_errors()); #Error

                $this->load->view('layout', $data);

          } // Do upload
              else{
                $data = array('upload_data' => $this->upload->data($conceptOne));

              }// end else
            }// end if folder

Solution

  • Your code contradict its self ... you are calling mkdir ( $location . $folderName, 0777 ); but checking ! is_dir ( $folderName )) definitely this would not work

    Try

    $location  = "" ; // Your Location 
    $foldername = "" ; // Your Folder Name
    $path = $location . DIRECTORY_SEPARATOR . $foldername ;
    
    if (!is_dir ( $path )) {
    
        if(is_writable($location))
        {
            mkdir ($path, 0777 );
        }
        else
        {
            die("You don't have permission to create folder");
        }
    }
    
     else {