2012-04-11 15 views
0

なぜmkdirif(is_dir)関数内で機能しませんが、それは単一行でそれを上回っていますか?if文でPHP mkdirが機能しない

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 
+3

「働かない」とは、あなたがもっと思考する必要があることを意味します。 –

+0

「動作していません」と定義します。 'if'ブランチはまったく実行されますか?それが「機能していない」ことをどのように確認しましたか? – deceze

+1

あなたが通過していることを知らないと、このスクリプトと同じディレクトリにある$ folderNameが実行されていますか?例えば。 /scripts/script.phpは上のコードですが、/ files/<新しいディレクトリ>にディレクトリを作成しています。絶対パスを入れて何が起こるかを見たいかもしれません。 EDIT:if(!is_dir($ location。$ folderName)) – Dave

答えて

1

あなたのコードでは、あなたは間違いなく、これは

は試してみてください動作しないでしょうmkdir ($location . $folderName, 0777);を呼び出すが、! is_dir ($folderName))をチェックしている...その自己矛盾

$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 { 
0

これを試してみてください:

if (!(file_exists($folderName))) { 
関連する問題