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 相关文章推荐
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
php文件上传表单摘自drupal的代码
Feb 15 PHP
ajax 的post方法实例(带循环)
Jul 04 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
Symfony控制层深入详解
Mar 17 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
php格式化时间戳
Dec 17 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 PHP
PHP调用接口API封装的例子
Oct 11 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 缩略图实现函数代码
2011/06/23 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
js常用代码段收集
2011/10/28 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
讲解Python中的标识运算符
2015/05/14 Python
Python字典简介以及用法详解
2016/11/15 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
Intersport西班牙:在线体育商店
2019/11/06 全球购物
业务代表的岗位职责
2013/11/16 职场文书
大一自我鉴定范文
2013/12/27 职场文书
《春雨》教学反思
2014/04/24 职场文书
调研座谈会发言材料
2014/08/23 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery
使用tensorflow 实现反向传播求导
2021/05/26 Python