我有一个上传多个文件的表单。上传一次的文件不会上传到唯一的目录中。我现在面临的问题是对于一个用户我想运行一次mkdir()。不知道具体该怎么做。
控制器.php
class Upload_file extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}
function upload_it()
{
$this->load->helper('form');
$uniqueID = uniqid();
mkdir("application/uploads/".$uniqueID);
$config['upload_path'] = 'application/uploads/'.$uniqueID;
$config['allowed_types'] = '*';
$this->load->library('upload', $config);
$this->upload->initialize($config);
$this->upload->set_allowed_types('*');
$data['upload_data'] = '';
if (!$this->upload->do_multi_upload('files')) {
$data = array('msg' => $this->upload->display_errors());
}
else
{
$data['upload_data'] = $this->upload->get_multi_upload_data();
}
$this->load->vars($data);
$this->load->view('upload');
}
}
Run Code Online (Sandbox Code Playgroud)
超文本标记语言
<form target="upload_target" id="fileupload" method="post" action="<?php echo site_url('upload_file/upload_it'); ?>" enctype="multipart/form-data">
<div class="fileUpload btn btn-warning">
<span>Browse</span>
<input id="uploadBtn" type="file" multiple="multiple" name="files[]" class="upload" />
</div>
<input id="uploadFile" style="width: 160px; margin-top: 30px;float: left;height: 35px;" placeholder="Choose File" disabled="disabled" />
<button id="btnupload" style="padding: 4.5px; float:left;margin-top: 30px;border-radius: 0px;" disabled="disabled" type="submit" class="btn btn-primary btn-lg"><span class="glyphicon glyphicon-upload"></span></button>
</form>
Run Code Online (Sandbox Code Playgroud)
我不知道我是否理解你的问题,但我想你应该先检查该文件夹是否存在,然后创建它:
if (!file_exists("application/uploads/".$uniqueID)) {
mkdir("application/uploads/".$uniqueID);
}
Run Code Online (Sandbox Code Playgroud)