实现多画面上传效果
我今天分享的是,在不刷新页面的前提下,使用Ajax上传多个图片,用户只需点击并选择上传的图片,然后图片自动上传到服务器并显示在页面上。HTML
我们把一个表单的网页上,使用后提交到后台PHP程序upload.php,并注意enctype属性设置支持文件上传。#预览是用来上传后显示的图片。在这篇文章中,CSS样式设置不解释,请参阅下载包的源。
复制代码代码如下所示:
添加图片
最大100KB,支持JPG,GIF,PNG格式。
jQuery
这个实例是基于jQuery的,因此有必要在网页的jQuery库和jquery.wallform.js负荷。
复制代码代码如下所示:
当单击按钮添加到图片,选择文件对话框弹出,并改变事件后选择图片上传触发。然后形成# imageform调用ajaxform()方法jquery.wallform.js,提交表单数据到后台php处理,处理页面元素的显示对返回结果。如果上传成功,图片会显示在页面上,ajaxform使用()可以被称为该网站的文章:Ajax表单提交插件jqery形式。
复制代码代码如下所示:
$(函数(){())
$(# photoimg)。模(听到咔哒声)。活(‘变',功能()){
无功状态=美元(# up_status );
VAR按钮=美元(# up_btn );
$(# imageform)。AjaxForm({
目标:#预览,
beforesubmit:函数(){
status.show();
Btn.hide();
},
成功:函数(){
status.hide();
Btn.show();
},
错误:函数(){
status.hide();
Btn.show();
})提交();
});
});
PHP
upload.php处理图片上传,并保存上传的图片在上传/目录,注意目录有写权限。首先,我们需要检测它是否是提交后的模式,然后判断图像格式和图片的大小符合要求。然后我们上传图片使用move_uploaded_file(),并重新命名的形象,这是(),伦德(100999)。
复制代码代码如下所示:
$路径上载;
extarr美元=阵列(JPG
如果(isset(_post美元)美元和_server { 'request_method} = =后){
$name = { } {_files美元'photoimg 'name' };
大_files美元美元{ 'photoimg } { } 'size ' ';
如果(空($)){
请选择上传的照片。
出口;
}
扩展名($ name);
如果(!in_array($ EXT,extarr美元)){
回声'图片格式是错误的!;
出口;
}
如果($ >(100×1024)){
回声的图片大小不能超过100kb;
出口;
}
image_name美元=时间(),伦德(100999)。;
TMP = { 'photoimg _files美元美元的} { 'tmp_name};
如果(move_uploaded_file($ TMP,$路径。image_name美元)){
回声';
其他{ }
回声上传错误!;
}
出口;
}
获取文件类型后缀
功能扩展($ file_name){
美元($ file_name)延长=是;
为延长= strtolower($延长{扩展));
返回$扩展;
}
当然,在实际应用中,它可以与数据库和用户中心相结合,将用户上传的图片存储在数据表中,并且可以对特定的应用程序进行研究。
这是本文与您分享的全部内容,希望您能喜欢。