[英]I am uploading image with the help of ajax and also showing it in a div but it wont show the image for the first time image is uploaded in php
我正在使用ajax帮助上传图像并显示它。现在我想要实现的是,只要用户选择该图像,它就应该在div中可见,但是当我第一次尝试在数据库为空它什么也没有告诉我ajax正在运行的数据正在保存到数据库中,但是我看不到该图像,您能告诉我我在做什么错吗?
<div id="timelineBackground" class="">
<?php
{
if(!$timeline_image=="")
{
$image_properties = array('src' => base_url("uploads/".$timeline_image),'width' => '900px','height'=> '400px','id'=>'coverimg', 'title' => 'That was quite a night','rel' => 'lightbox');
echo img($image_properties);
}else{
$timeline_image = array(
'src' => base_url("assets/img/Facebook-cover.jpg"),
'width' => '900px',
'height'=> '400px',
);
echo img($timeline_image);
}
?>
<div id="timelineselector" class="grow">
<?php echo form_open_multipart('',["id"=>"form_cover"]); ?>
<input type="hidden" name="id" value="<?php echo $id ;?>">
<label class="icons-camera " for="timelineimage">
<p class="cover_upload"> <i class="fa fa-camera cover_upload" style="color:white;"> Upload Your Cover</p></i>
</label>
<?php echo form_upload(["name"=>"timelineimage","id"=>"timelineimage" ]); ?>
<?php echo form_close(); ?>
</div>
<?php
}
?>
</div>
jQuery代码
jQuery('#timelineimage').on('change',function(e) {
e.preventDefault();
var form=jQuery('#form_cover')[0];
var formData = new FormData(form);
var url = '<?php echo base_url("user/coverimage"); ?>';
formData.value
jQuery.ajax({
type: "POST",
url: url,
data: formData,
cache: false,
contentType: false,
processData: false,
success: function(data) {
console.log(data);
$('#coverimg').attr('src', data);
},
error: function(data) {
//error function
}
});
});
这是我的代码,所以当第一次数据库为空时该怎么办?
这是我的控制器
public function coverimage()
{
$config = [
'upload_path' => './uploads/',
'allowed_types' => 'jpg|gif|png|jpeg',
'max_size' => 10000000000000,
'max_width' => 1024000000,
'max_height' => 7680000000,
];
$this->load->library('upload', $config);
$this->upload->initialize($config);
$timelineimage="timelineimage";
if(!$this->upload->do_upload($timelineimage))
{
$upload_error = $this->upload->display_errors();
$this->load->view('dashboard/profile',compact('upload_error'));
}
else
{
$post = $this->input->post();
unset($post['submit']);
$upload_data = $this->upload->data();
$file_name=$_FILES['timelineimage'];
$this->load->model('Pmodel');
$this->Pmodel->timeline_upload_model($post,$file_name);
echo $image_path= base_url("uploads/".$upload_data['raw_name'].$upload_data['file_ext']);
}
}
型号代码
public function timeline_upload_model($arr,$arra)
{
$id=$arr['id'];
$image=$arra['name'];
$data=array('timelineimage'=>$image,'user_id'=>$id);
$query=$this->db->where('id',$id)->update('user_data',$data);
//print_r($query);
return $query;
}
现在让我告诉你问题是什么
[![First Image][1]][1]
[![Second Image][2]][2]
[![Third Image][3]][3]
[1]: https://i.stack.imgur.com/C2Rvu.png
[2]: https://i.stack.imgur.com/4fYXJ.png
[3]: https://i.stack.imgur.com/DG4NH.png
您在其他部分错过了图像标签的ID。
if(!$timeline_image=="")
{
$image_properties = array('src' => base_url("uploads/".$timeline_image),'width' => '900px','height'=> '400px','id'=>'coverimg', 'title' => 'That was quite a night','rel' => 'lightbox');
echo img($image_properties);
}else{
$timeline_image = array(
'src' => base_url("assets/img/Facebook-cover.jpg"),
'width' => '900px',
'height'=> '400px',
'id'=>'coverimg',
);
echo img($timeline_image);
}
我正在使用ajax
上传多个文件,并将其保存在php的数据库中,但显示为空数组。
这是我的html代码
<form id="registration_form" method="post" enctype="multipart/form-data">
<input type="file" id="file" name="file[]" multiple>
</form>
这是我的ajax代码-
$.ajax({
url:"update.php",
type:"post",
data: new FormData(this),
contentType:false,
cache:false,
processData:false,
success:function(data)
{
alert(data);
},
failure:function(errormsg)
{
alert(errormsg);
}
});
这是我的PHP代码(update.php)
<?php
$IMG = isset($_POST['file']) ? $_POST['file'] : array();
if (!empty($IMG)) {
$uploads_dir = 'upload/';
echo $uploads_dir; die;
foreach ($IMG["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $IMG["tmp_name"][$key];
$name = $IMG["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
$name_array=mysql_real_escape_string($name);
$value_insert[] = "('" . $name_array . "')";
}
}
$values_insert = implode(',', $value_insert);
echo "asd";
$sql="update register set filename='$values_insert' where id='1'";
$result = mysql_query($query);
}else{
echo 'empty array';
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.