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 身份证号验证函数
May 07 PHP
php 自写函数代码 获取关键字 去超链接
Feb 08 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
用 Composer构建自己的 PHP 框架之基础准备
Oct 30 PHP
php动态函数调用方法
May 21 PHP
php实现可运算的验证码
Nov 10 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
PHP实现关键字搜索后描红功能示例
Jul 03 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 PHP
关于PHP求解三数之和问题详析
Nov 09 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
Protoss热键控制
2020/03/14 星际争霸
php简单构造json多维数组的方法示例
2017/06/08 PHP
你的编程语言可以这样做吗?
2006/09/07 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
Angular实现下拉框模糊查询功能示例
2018/01/03 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
Python探索之创建二叉树
2017/10/25 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
PHP开发的一般流程
2013/08/13 面试题
艺术专业大学生自我评价
2013/09/22 职场文书
学生会主席竞聘书
2014/03/31 职场文书
英文求职信范文
2014/05/23 职场文书
预备党员公开承诺书
2014/05/28 职场文书
工程售后服务方案
2014/06/08 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
物业保安辞职信
2015/05/12 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python