2014-10-05 135 views
0

我試圖上傳多個文件並將它們存儲到特定酒店房間的目錄中。多文件上傳並將它們存儲在目錄中

PHP將檢查是否已經有一個目錄,如果沒有,它會使它。但是將文件移動到該目錄的部分不起作用。

我創建房間功能:

public function create($fields = array(), $file) { 

    if(!$this->_db->insert('rooms', $fields)) { 
     throw new Exception('There was a small problem creating the room'); 
    } 

    else{ 
     $roomNR = $fields['roomnr']; 
     $dir = $_SERVER['DOCUMENT_ROOT'] . "/images/rooms/$roomNR"; 

     if (!file_exists($dir)) { 
      mkdir ($dir, 0744); 
     } 
     move_uploaded_file($file["file"]["tmp_name"], "$dir/" . $file["file"]["name"]); 
    } 
} 

這是我通過一切我的功能:

try{ 
      $newRoom->create(array(
       'roomnr' => Input::get('roomnr'), 
       'catagory' => Input::get('Catagory'), 
       ),$_FILES); 

      Session::flash('success', 'The room has been added'); 
      // Redirect::to('admin-rooms.php'); 

     } catch(Exception $e){ 
      die($e->getMessage()); 
     } 

,這裏是我的形式,我使用:

<form role="form" action="" method="post"> 
<div class="form-group"> 
    <label for="roomnumber">Room Number:</label> 
    <input type="text" name="roomnr" id="roomnumber"> 
</div> 
<div> 
    <label for="Catagory">Catagory:</label> 
    <select name="Catagory" id="Catagory"> 
    <?php 

    $catagorys = DB::Getinstance()->query('SELECT * FROM catagory'); 

    if ($catagorys->count()) { 
     foreach($catagorys->results() as $catagory){?> 
     <option value="<?php echo $catagory->name; ?>"><?php echo $catagory->name; ?></option> 

     <?php } 
    } 

    ?> 
     </select><br> 
</div> 
    <div> 
     <label for="file">Picture: </label> <input type="file" name="file" id="file" accept="image/*" multiple><br> 
    </div> 
<input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> 
    <input type="submit" value="Insert"> 
</form> 

對不起,如果代碼不乾淨!

對於想要看看人們:Github

+1

標準建議 - 爲'$ dir'設置完整路徑 – 2014-10-05 14:12:29

+0

@u_mulder好的。我已經做了。 – Debreker 2014-10-05 14:20:06

+0

如果將圖像放在網站文件夾中,則完整路徑表示具有'$ _SERVER ['DOCUMENT_ROOT']'或文件系統根目錄的路徑。 – 2014-10-05 14:22:38

回答

0

看來問題是,我忘了我的表格的一部分。它包含enctype="multipart/form-data"

+0

在那裏,完成了; - /感謝張貼。 – 2014-10-05 18:43:36

相關問題