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
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
php 读取文件乱码问题
Feb 20 PHP
PHP中的float类型使用说明
Jul 27 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
destoon利用Rewrite规则设置网站安全
Jun 21 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
php实现给图片加灰色半透明效果的方法
Oct 20 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 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
自动跳转中英文页面
2006/10/09 PHP
PHP MemCached 高级缓存应用代码
2010/08/05 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
微信小程序实现全国机场索引列表
2018/01/31 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
Python实现字典依据value排序
2016/02/24 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
python实现多人聊天室
2020/03/31 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
音乐专业应届生教师求职信
2013/11/04 职场文书
机电工程学生自荐信范文
2013/12/07 职场文书
趣味比赛活动方案
2014/02/15 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
解决Jupyter-notebook不弹出默认浏览器的问题
2021/03/30 Python
MySql按时,天,周,月进行数据统计
2022/08/14 MySQL