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代码把全角数字转为半角数字
Dec 10 PHP
PHP 多维数组排序实现代码
Aug 05 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
PHP开发框架kohana中处理ajax请求的例子
Jul 14 PHP
PHP常用编译参数中文说明
Sep 27 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
php输出含有“#”字符串的方法
Jan 18 PHP
PHP简单留言本功能实现代码
Jun 09 PHP
PHP实现的简单排列组合算法应用示例
Jun 20 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
Ajax PHP简单入门教程代码
2008/04/25 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
layui表格实现代码
2017/05/20 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
javascript的this关键字详解
2019/05/20 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
python实现简单飞行棋
2020/02/06 Python
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
2013的个人自我评价
2013/12/26 职场文书
农民致富事迹材料
2014/01/23 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
质量保证书范本
2014/04/29 职场文书
见习报告格式范文
2014/11/08 职场文书
创先争优承诺书
2015/01/20 职场文书
给老婆道歉的话
2015/01/20 职场文书
旅游投诉信范文
2015/07/02 职场文书
css 中多种边框的实现小窍门
2021/04/07 HTML / CSS