php上传文件过滤_php上传文件

网站经常有上传文件到服务器的需求,如下代码:

enctype="multipart/form-data"> //enctype 属性规定了在提交表单时要使用哪种内容类型。如果是二进制文件,必须使用 "multipart/form-data"。

Filename:

编写do_file.php来处理上传请求,$_FILES可以获取上传的文件,如代码:

/**

* $_FILES是php中存储各种与上传文件相关的信息,其他的数据还是要用$_POST去获取

* $_FILES['myfile']['name'] 其中的myfile为前台form表单提交过来的name,客户端及其文件的文件名,包括拓展名

* $_FILES['myfile']['size'] 上传文件的大小,单位为字节

* $_FILES['myfile']['tmp_name'] 文件上传成功后,在服务器端存储的临时文件名

* $_FILES['myfile']['error'] 文件上传产生的错误信息,0正常;1文件超出php规定大小;2文件超出html规定的大小;3文件只被部分上传;4文件没有被上传

*/

$fileMaxSize = 10001000; //允许最大的文件为10001000B

$allowType = array("jpg", "png", "gif", "jpeg", "ico");//允许的文件拓展名

/**

* php还提供is_uploaded_file(string filename)和move_uploaded_file(string filename, string destination)

* is_uploaded_file()函数用来检测指定的文件是否是上传的文件,注意这个函数的参数应该是$_FILES['myfile']['tmp_name'],而不是$_FILES['myfile']['name']

* move_uploaded_file()函数用来将临时目录里的上传文件,移动到指定的位置

*/

if(is_uploaded_file($_FILES['myfile']['tmp_name']))

{

$userFileNames = explode(".", $_FILES['myfile']['name']);

$userFileNameLast = array_pop($userFileNames);

if(!in_array($userFileNameLast, $allowType))

die("对不起,拓展名不正确");

if($_FILES['myfile']['size'] > $fileMaxSize)

die("对不起,文件过大");

$saveFileName = date("YmdHis").".".$userFileNameLast;

move_uploaded_file($_FILES['myfile']['tmp_name'], "/home/youthflies/work/workspace/php/test/".$saveFileName);

}

else

{

die("文件非法");

}

echo "上传成功";

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值