2017-04-19 77 views
0

實際上傳文件時,我正在創建帶有時間戳的文件夾,並且還將文件夾名稱和文件名一起保存到數據庫中,這很正常。編輯時,我有輸入類型隱藏在這個我發佈值,如果用戶不更改文件,也如果文件夾退出已經不應該創建文件夾,如果用戶更改文件,它應該創建一個新的文件夾。只有它會去if條件。不是其他部分。請幫助我一個人。codeigniter中的文件上傳問題

下面是PHP代碼,

if(isset($_FILES['event_image']['name'])&& $_FILES['event_image']['name']!="") 
{ 
    $folder_name =$_FILES['event_image']['name']; 
    echo $folder_name; 
} 
else 
{ 
    $folder_name =$_POST['image_exists']; 
    echo $folder_name; 
}   
    //print_r($pathToUpload);die; 
    $old = umask(0); 
if (!file_exists($folder_name)) 
{ 
    //echo "djfgd";die; 
    $folderName = $_POST['event_name'].time(); 
    $pathToUpload = 'images/events/' . $folderName; 
    $create = mkdir($pathToUpload, 0777,true); 
    //chmod($pathToUpload,0755,true); 
    if (! $create) 
    return; 
    } 
    else{ 
    //echo "dqqqqqq";die; 
    //$folderName = $_POST['event_name'].time(); 
    //$pathToUpload = 'images/events/' . $folderName; 
    //$create = mkdir($pathToUpload, 0777,true); 
    echo "already exits";die; 
    } 
    umask($old); 

HTML代碼:

<div class="col-md-6"> 
    <div class="form-group"> 
    <label for="event_image">Event Banner</label> 
    <input type="file" value="<?php echo $event_image; ?>" 
    class="form-control" id="eventimage" name="event_image"> 
    <input type="hidden" name="image_exists" value="<?php echo $event_image;?>" 
    class="form-control" id="eventimage" placeholder="Enter Image Text" aria-describedby="fileHelp"> 
    <div><?php echo $event_image;?></div> 
    </div> 
</div> 
+0

在if語句之前打印文件夾名稱並查看它是否匹配。如果它不會創建一個新的肯定 –

+0

@malik mudassarI已經嘗試打印,如果它匹配也正在創建新的文件夾。 – raja

+0

如果你使用codeigniter,那你爲什麼要在覈心php中編寫代碼。 – Gaurav

回答

2

好吧,我已經使用笨和簡單的PHP is_dir功能模擬的情況下,我的機器上。

這裏是我的測試圖

enter image description here

創建了下面的標記

<div class="container" style="margin-top:100px; "> 
    <div class="col-md-6" style="border: 1px dotted red; "> 
     <?php if(isset($errors)){?> 
      <div class="alert alert-danger"> 
       <?php print_r($errors);?> 
      </div> 
     <?php }?> 
     <?php if(isset($success)){?> 
      <div class="alert alert-success"> 
       <?php print_r($success);?> 
      </div> 
     <?php }?> 
     <form action="" method="post" id="form1"> 
      <div class="form-group"> 
       <label > Directory Name</label> 
       <input type="text" name="name" class="form-control" > 
      </div> 
      <div class="form-group"> 
       <button type="submit" class="btn btn-danger" >Create</button> 
      </div> 
     </form> 
    </div> 

</div> 

我的控制器

public function index() 
{ 
    $data['title']='Multiple submit'; 
    if($_POST) 
    { 
     $path='uploads/'.$_POST['name']; 
     if (!is_dir($path)) { 
      mkdir($path); 
      $data['success']='Directory Created Successfully'; 
      $this->load->view('form',$data); 
     } 
     else 
     { 
      $data['errors']='Directory Already Exist'; 
      $this->load->view('form',$data); 
     } 
    } 
    else 
    { 
     $this->load->view('form',$data); 
    } 

} 

我創建一個目錄,這就是成功。

enter image description here

我再試一次,得到一個錯誤

![enter image description here

我的路徑中創建的目錄是

enter image description here

我希望你可以修改這個代碼根據您的要求。