控制器:
public function do_register()
{
$path = $_FILES['image']['name'];
$imgext=strtolower(strrchr($path,'.'));
$imgname= $this->generateRandomString().$imgext;
if($path!='')
{
$im= $this->config->item('base_url').'/uploads'.'/'.$imgname;
$x=$this->do_upload($imgname);
$data['img']=$im;
}
$this->search_model->register_user($data);
$this->load->view('register_view');
}
function generateRandomString()
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
$randomString = '';
for ($i = 0; $i < 8; $i++)
{
$randomString .= $characters[rand(0, strlen($characters) - 1)];
}
return $randomString;
}
function do_upload($img)
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '575000';
$config['file_name'] = $img;
$this->load->library('upload',$config);
if ( ! $this->upload->do_upload('image'))
{
$error = array('error' => $this->upload->display_errors());
}
else
{
$data = array('upload_data' => $this->upload->data());
return $data;
}
return;
}
这是图像上传的控制器。当我选择上传的图像时,我选择文件名时不会显示图像?这是什么解决方案?选择文件名后如何显示图像?请提供相应的代码吗?
答案 0 :(得分:0)
您可以使用javascript查看this。我希望它会对你有所帮助。
答案 1 :(得分:0)
对于上传前的图片预览,请检查此FIDDLE。
限制上传大小的代码。
$(document).on('change','.coverimage',function(){
files = this.files;
size = files[0].size;
//max size 50kb => 50*1000
if( size > 1000141){
alert('Please upload less than 1mb file');
return false;
}
return true;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form role="form" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="file">Choose your Image: </label>
<input type="file" class="coverimage" id="file1" name="file[]" multiple>
</div>
<button id='submit_btn' class="btn btn-default">upload</button>
</form>