Extjs4创建简单的图片上传

本文展示了一个使用ExtJS实现的图片上传组件及其PHP后端处理逻辑。前端通过ExtJS表单验证用户上传的图片格式,并提交到服务器;服务器端接收文件并检查是否存在同名文件,确保文件正确保存。

先给出Extjs代码:

Ext.define('MyApp.view.ui.MyForm', {
extend: 'Ext.form.Panel',

height: 107,
width: 398,
bodyPadding: 10,
title: '上传图片',

initComponent: function() {
var me = this;
me.items = [
{
xtype: 'filefield',
name: 'file',
fieldLabel: '请选择图片',
anchor: '100%',
allowBlank:false,
regex: /((\.jpg)|(\.png)|(\.gif))$/i,
invalidText:'请选择正确的图片格式'
},
{
xtype: 'button',
text: '点击上传',
handler:function(btn){
var form=btn.up('form').getForm();
if(form.isValid())
{
form.submit({
url:'pro.php',
waitMsg:'正在上传中...',
success:function(grid,action){
Ext.Msg.alert('信息提示',action.result.msg);
},
failure:function(grid,action){
Ext.Msg.alert('信息提示',action.result.msg);
}

});
}
else
{
Ext.Msg.alert('信息提示','请选择正确的图片格式');
}
}

}
];
me.callParent(arguments);
}
});

Ext.onReady(function(){
Ext.create('MyApp.view.ui.MyForm',{

renderTo:Ext.get('main')
});
})

再给出服务器端代码(PHP):

<?php

if ($_FILES["file"]["error"] > 0)
{
echo "{
success:false,
msg:'上传出错,请重试'
}";
}
else
{
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo "{
success:false,
msg:'文件已存在'
}
";
}
else
{
$now=time();//获取当前时间戳
$path_arr=pathinfo($_FILES["file"]["name"]);
$new_file_name=$now.'.'.$path_arr['extension'];
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$new_file_name);
echo "{
success:true,
msg:'上传成功'
}";
}
}


?>


解释一下pathinfo()函数,用来获取一个文件名中的后缀名,不带点号。下面是API中给的例子:

<?php
$path_parts = pathinfo("/www/htdocs/index.html");
echo $path_parts["dirname"] . "\n";//输出/www/htdocs
echo $path_parts["basename"] . "\n";//输出index.html
echo $path_parts["extension"] . "\n";//输出html
?>



转载于:https://www.cnblogs.com/crazymus/archive/2012/03/28/2422072.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值