实现多画面上传效果

我今天分享的是,在不刷新页面的前提下,使用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($延长{扩展));

返回$扩展;

}



当然,在实际应用中,它可以与数据库和用户中心相结合,将用户上传的图片存储在数据表中,并且可以对特定的应用程序进行研究。

这是本文与您分享的全部内容,希望您能喜欢。