多文件上传并将它们存储在目录中
问题描述:
我试图上传多个文件并将它们存储到特定酒店房间的目录中。多文件上传并将它们存储在目录中
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
答
看来问题是,我忘了我的表格的一部分。它包含enctype="multipart/form-data"
。
+0
在那里,完成了; - /感谢张贴。 – 2014-10-05 18:43:36
标准建议 - 为'$ dir'设置完整路径 – 2014-10-05 14:12:29
@u_mulder好的。我已经做了。 – Debreker 2014-10-05 14:20:06
如果将图像放在网站文件夹中,则完整路径表示具有'$ _SERVER ['DOCUMENT_ROOT']'或文件系统根目录的路径。 – 2014-10-05 14:22:38