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 相关文章推荐
解决phpmyadmin中文乱码问题。。。
Jan 18 PHP
10条PHP编程习惯助你找工作
Sep 29 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 PHP
PHP获取MAC地址的具体实例
Dec 13 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
php中define用法实例
Jul 30 PHP
PHP 实现的将图片转换为TXT
Oct 21 PHP
php 无限级分类 获取顶级分类ID
Mar 13 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
Nov 09 PHP
thinkphp框架类库扩展操作示例
Nov 26 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构造函数实例讲解
2013/11/13 PHP
浅析php单例模式
2014/11/25 PHP
php远程下载类分享
2016/04/13 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
ext jquery 简单比较
2010/04/07 Javascript
JSON 教程 json入门学习笔记
2020/09/22 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
2016/06/24 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
python opencv实现简易画图板
2020/08/27 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
大学生职业生涯规划书
2014/03/14 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
实习指导老师评语
2014/04/26 职场文书
社团活动总结报告
2014/06/27 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
浅谈Python 中的复数问题
2021/05/19 Python