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 相关文章推荐
无限级别菜单的实现
Oct 09 PHP
在PHP中使用灵巧的体系结构
Oct 09 PHP
中篇:安装及配置PHP
Dec 13 PHP
深入分析php之面向对象
May 15 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
php创建、获取cookie及基础要点分析
Jan 26 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
Lumen timezone 时区设置方法(慢了8个小时)
Jan 20 PHP
PHP删除数组中指定下标的元素方法
Feb 03 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 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
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
coffeescript使用的方式汇总
2015/08/05 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
Python如何将装饰器定义为类
2020/07/30 Python
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
保密承诺书
2014/03/27 职场文书
高三家长寄语
2014/04/03 职场文书
5s推行计划书
2014/05/06 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
项目合作协议书
2014/09/23 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书