php文件上传初学小结

文章目录


1、html标签需要做的上传设置
2、php处理文件部分信息
3、上传文件的后续处理

1、
(1)form标签属性设置
<1>method设置为post
<2>enctype设置为multipart/form-data
<3>form表单中设置隐藏类型的input,其中name值设置为MAX_FILE_SIZE,VALUE值设置为需要限制的上传文件的大小(单位为字节)

2、
(1)与上传有关的php配置选项
<1>file_uploads 初始值 : on ;功能 : 确定php服务器的脚本是否可以接收http文件上传
<2>memory_ limit 初始值:8M ; 功能:设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存
<3>upload_max_filesize 初始值:2M ;功能:限制php处理上传文件的最大值 ,此值必须小于post_max_size值
<4>post_max_size 初始值:8M ; 功能:限制通过post方法可以接受的信息最大量
<5>upload_tmp_dir 默认路径:F:/wamp/tmp ;功能:上传文件存放的临时路径,可以是一个绝对路径,这个目录对于拥有此服务器进程用户必须是可写的
(2)$_FILES多维数组,用于存储各种与上传有关的信息
$_FILES[‘file’][ ‘name’ ] 客户端机器文件的原名称,包括扩展名
$_FILES[‘file’][ ‘size’ ] 已上传文件的大小,单位为字节
$_FILES[‘file’][ ‘tmp_name’ ] 文件上传之后,在服务器端储存的临时文件名
$_FILES[‘file’][ 'error ] 文件上传时产生的错误
0:表示没有发生任何错误,文件上传成功
1:表示上传文件的大小超出了在php配置文件中upload_max_filesize的值
2: 表示上传文件的大小超出了HTML表单中MAX_FILE_SIZE选项所指定的值
3:表示文件只被部分上传
4:表示没有上传任何文件
$_FILES[‘file’][ ‘type’ ] :获取客户端上传的MIME类型,MIME类型规定了各种文件格式的类型,每种MIME类型都是由/分隔的主类型和子类型组成

3、
(1)is_uploaded_file()判断指定的文件是否通过 HTTP POST上传的
(2)move_uploaded_file()文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传的文件移至新位置

总代码

<?php
header('Content-type:text/html;charset=utf-8');
if(isset($_post['submit'])){
if(is_uploaded_file($_FILES['myfile']['tmp_name'])){
	$arr=pathinfo($_FILES['myfile']['name']);
    if(move_uploaded_file($_FILES['myfile'['tmp_name'],"uploads/'a'{$arr['extension']}"));
}else{
    exit("可能有攻击,请你做合法的事情!");
}
var_dump($_FILES);
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>上传页面</title>
</head>
<body>
<form action="" method="post" entype="multipart/form-data">
<input type="file" name="myfile" />
<input type="submit" name="submit" value="开始上传" />
</form>
</body>
</html>

输出
在这里插入图片描述
注:为了防止文件被新文件覆盖,可以将a换成时间戳
代码为

$new=date('YmdGis').rand(1000-9999)
再把a换成{$new}即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值