PHP文件上传主要代码讲解


Posted in PHP onSeptember 30, 2013
<?php   
 if($_FILES['myfile']['name'] != '') {   
if($_FILES['myfile']['error'] > 0) {   
echo "错误状态:" . $_FILES['myfile']['error'];   
} else {   
move_uploaded_file($_FILES['myfile']['tmp_name'] , "uploads/" . $FILES['myfile']['name']);   
echo "<script>alert(上传成功!);</script>";   
}   
} else{   
echo "<script>alert(请上传文件!);</script>";   
}   
?>

说明:

在解释这篇代码前,我们有必要了解以下知识。

$_FILES['myfile']['name'] 是指被上传文件的名称
$_FILES['myfile']['type'] 是指被上传文件的类型
$_FILES['myfile']['size'] 是指被上传文件的大小,单位为字节(B)
$_FILES['myfile']['tmp_name'] 是指被上传文件存在服务器中的临时副本文件名称,文件被移动到指定目录后临文件将被自动消毁。
$_FILES['myfile']["error"] 是指由文件上传中有可能出现的错误的状态码,关于各状态含义后在会说明。

了解了这些,我们再来看一下upload.php的代码。

首先,$_FILES['myfile']['name']中的myfile是指在上面HTML页面中上传文件标签的name值,根据这个我们才能知道我们正在处理的文件是哪一个input提交过来的。

然后再来判断一下 $_FILES['myfile']['name'] 不是否为空,根据这个我们可以知道用户有没有上传文件,从而执行不同的操作。

如果上传了文件并且状态是0就说明上传成功,我们就可以用 move_uploaded_file方法把上传的文件存放到指定目录,上面这个例子是指把上传的文件移动到同目录下的uploads文件夹下,这个路径是相对于这个PHP文件(既upload.php)的相对目录。

比如,我们想把上传的文件移动到upload.php上一层叫user的文件夹中的话,我们就可以这样写:move_uploaded_file($_FILES['myfile']['tmp_name'] , "./user/". $FILES['myfile']['name']),这种方法使用起来很方便、灵活,这样一个文件就被上传到服务器中了,可以打开服务器中的目录查看该文件。

PHP 相关文章推荐
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
php防止sql注入简单分析
Mar 18 PHP
PHP的命令行命令使用指南
Aug 18 PHP
功能强大的PHP发邮件类
Aug 29 PHP
php 函数使用可变数量的参数方法
May 02 PHP
PHP新特性之字节码缓存和内置服务器
Aug 11 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
Aug 04 PHP
Laravel 读取 config 下的数据方法
Oct 13 PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 #PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
Sep 30 #PHP
PHP设置一边执行一边输出结果的代码
Sep 30 #PHP
PHP file_get_contents设置超时处理方法
Sep 30 #PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 #PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 #PHP
php json_encode值中大括号与花括号区别
Sep 30 #PHP
You might like
火车头采集器3.0采集图文教程
2007/03/17 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
查找iframe里元素的方法可传参
2013/09/11 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
原生JS实现跑马灯效果
2017/02/20 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
nodeJS微信分享
2017/12/20 NodeJs
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
对python中UDP,socket的使用详解
2019/08/22 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
大学本科毕业生的自我鉴定
2013/11/26 职场文书
竟聘演讲稿范文
2013/12/31 职场文书
中国梦的演讲稿
2014/01/08 职场文书
研修第一天随笔感言
2014/02/15 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
社区党支部承诺书
2015/04/29 职场文书
二审代理词范文
2015/05/25 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
AJAX学习笔记
2021/05/18 Javascript