php input file 上传文件类型,php轻松实现文件上传功能
本文分为五个部分针对php上传文件进行分析讲解,具体内容如下
文件上传变量
将服务器上的临时文件移动到指定目录下
php.ini上传相关配置
error错误号
单文件上传实例
1.文件上传变量
//$_FILES:文件上传变量
#name 文件的名称
#type 文件的类型
#tmp_name 临时文件名
#size 文件的大小
#error 错误信息
$filename = $_FILES["myFile"]["name"];
$type = $_FILES["myFile"]["type"];
$tmp_name = $_FILES["myFile"]["tmp_name"];
$size = $_FILES["myFile"]["size"];
$error = $_FILES["myFile"]["error"];
2.将服务器上的临时文件移动到指定目录下
//1.move_uploaded_file($tmp_name,$destination):将服务器上的临时文件移动到指定目录下
#上传后文件名字,移动成功返回true,否则返回false
move_uploaded_file($tmp_name,"D:/".$filename);
//2.copy($tmp_name,$destination)
copy($tmp_name,"D:/".$filename);
3.php.ini上传相关配置
# file_uploads=On 支持HTTP上传
# upload_tmp_dir="" 临时文件保存的目录
# upload_max_filesize=2M 允许上传文件的最大值
# max_file_uploads=20 允许一次上传的最大文件数
# post_max_size=8M post方式发送数据的最大值
# max_execution_time = 1 设置了脚本被解析器终止之前允许的最大执行时间,单位为秒,防止程序写的不好而占尽服务器资源
# max_input_time = 60 脚本解析输入数据允许的最大时间,单位为秒
# max_input_nesting_level = 64 设置输入变量的嵌套深度
# max_input_vars = 1000 接受多少输入的变量
# memory_limit = 128M 最大单线程的独立内存使用量
4.error错误号
# 0,没有错误发生,文件上传成功。
# 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
# 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
# 3,文件只有部分被上传。
# 4,没有文件被上传。
# 6,找不到临时文件夹。
# 7,文件写入失败。
# 8,上传的文件被PHP扩展程序中断
5.单文件上传实例form.html
Document
请选择你要上传的文件:
fileUpload.php
header("content-type:text/html;charset:utf-8");
$fileInfo = $_FILES["myFile"];
$filename = $fileInfo["name"];
$type = $fileInfo["type"];
$error = $fileInfo["error"];
$size = $fileInfo["size"];
$tmp_name = $fileInfo["tmp_name"];
$maxSize=2*1024*1024;//允许的最大值
$allowExt=array("jpeg","jpg","gif");
$flag = true;//检测是否为真实的图片类型
//判断错误号
if($error == 0){
//判断上传文件的大小
if($size>$maxSize){
exit("上传文件过大");
}
//检测文件类型
//取出文件扩展名
$ext = pathinfo($filename,PATHINFO_EXTENSION);
if(!in_array($ext,$allowExt)){
exit("非法文件类型");
}
//检测是否为真实的图片类型
if($flag){
if(@!getimagesize($tmp_name)){
exit("不是正的图片类型");
}
}
//创建目录
$path = "D:/test/";
if(!file_exists($path)){
mkdir($path,0777,true);
chmod($path,0777);
}
//确保文件名唯一,防止重名覆盖
$uniName = md5(uniqid(microtime(true),true)).".".$ext;
$destination = $path.$uniName;
if(@move_uploaded_file($tmp_name,$destination)){
echo "上传成功";
}else{
echo "上传失败";
}
}else{
switch($error){
case 1:
case 2:
case 3:
case 4:
case 6:
case 7:
case 8:
echo "上传错误";
break;
}
}
希望本文所述对大家学习php程序设计有所帮助。
php input file 上传文件类型,php轻松实现文件上传功能相关推荐
- 无法确定本地文件类型_如何从文件内容确定文件类型
无法确定本地文件类型 I. Introduction 一,引言 There's an interesting discussion going on now in an Experts Exchang ...
- linux查看文件元数据,Linux切换目录、查看目录下的文件、文件类型介绍和查看文件的元数据信息...
本篇博客介绍几个Linux的基础命令:写的如有不足,还望读者不吝赐教! 切换目录 cd(ChangeDirectory)切换工作目录 语法:cd [要切换的目录] cd:进入用户的宿主目录(回家) ...
- android 魅族扫码,魅族Flyme8扫码快传太实用,轻松实现文件高速传输
原标题:魅族Flyme8扫码快传太实用,轻松实现文件高速传输 在经过了几个月的内测之后,一直在热销的魅族16T手机也迎来了Flyme8 稳定版的更新,在流畅度和交互方面带来了较大的提升,进一步提升了用 ...
- php 怎么查看文件类型信息,php获取文件类型和文件信息的方法
php获取文件类型和文件信息的方法 发布于 2015-10-07 05:26:52 | 81 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...
- android判断文件类型是否为音频文件
android 中判断音频文件类型,通常有两种做法.一种是根据音频文件扩展名,这是最常用.最简单的方法:另一种是判断音频 文件头 信息,也是最准确的办法. 在Android系统内部提供了根据 文件名 ...
- input file控件使用accept过滤 限制的文件类型
在文件上传控件(input type='file')中,可以通过accept属性实现对文件类型的过滤. 一.相关代码: 下面给出对应的文件上传控件代码: <input type="fi ...
- java fileupload 文件类型,java用Commons-fileupload 文件的上传
基于表单的文件上传 如果在表单中使用表单元素 ,浏览器在解析表单时,会自动生成一个输入框和一个按钮,输入框可供用户填写本地文件的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件: 当表 ...
- Html input file控件使用accept过滤 限制的文件类型
Html input file控件使用accept过滤文件 ,老的浏览器不支持,不过对应新的浏览器还是方便很多 <input type="file" accept=" ...
- arcgis怎么压缩tif文件_PDF怎么压缩上传?教你轻松实现文件瘦身
PDF怎么压缩上传?在日常办公中,PDF文件是我们最常使用的文档格式之一.很多时候我们需要将它们需要上传到平台进行审批,平台上传一般都有大小限制,那么我们如何压缩PDF文档并且保持清晰度呢?下面就教大 ...
最新文章
- (转载)连连看游戏外挂详细制作过程
- c++缓冲区buffer
- MySQL的转义字符“\”
- 如何由jdk的安装版本改成非安装版本
- 搬家Testing.
- windows mobile C# net3.5 如何捕捉Arrow的CheckBox的KeyDown事件?
- Selenium简介以及selenium环境搭建
- HttpHandler(ashx)中获取Session状态
- multi task训练torch_手把手教你使用PyTorch(2)-requires_gradamp;computation graph
- 图解 CSS (2): border - 边框
- 关于win7启动看不到桌面的解决方法
- python解读器_Python装饰器完全解读
- HDU 5879 Cure -2016 ICPC 青岛赛区网络赛
- nuxt 中 vuex 路由鉴权 keeplive
- Android shell 授权文件执行权限
- UE4 键盘按键实现开关门
- 清茶一杯-手机、电子阅读器和生活
- 如何在Windows 11上的WSL2做到GPU直通,并用Deepracer本地训练炸干电脑的资源(显卡降价了,618等等党还等什么,一起来加入Deepracer的比赛学习交流吧)
- 优化方法——罚函数法
- 鱼池显示服务器错误502,502+bad+gateway怎么解决