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 17 PHP
php实现简单文件下载的方法
Jan 30 PHP
PHP答题类应用接口实例
Feb 09 PHP
php实现字符串翻转的方法
Mar 27 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
微信获取用户地理位置信息的原理与步骤
Nov 12 PHP
使用Composer安装Yii框架的方法
Mar 15 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 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
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
php使用指定字符列表生成随机字符串的方法
2015/04/18 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
PHP实现简易图形计算器
2020/08/28 PHP
javascript getElementsByClassName函数
2010/04/01 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
jQuery基础语法实例入门
2014/12/23 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
Python实现定时任务
2017/02/08 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
企业晚会策划方案
2014/05/29 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
Python实现批量自动整理文件
2022/03/16 Python