0

0

谈谈php中上传文件的处理,

php中文网

php中文网

发布时间:2016-06-13 08:39:00

|

1081人浏览过

|

来源于php中文网

原创

谈谈php中上传文件的处理,

  这是一个表单的时代。。。

  我们在浏览器中编辑自己的信息,会遇到上传头像;在文库中,我们会上传文档......到处存在“上传”这个词。

  php是最好的语言(其他语言的程序猿们不要打我...)。php在处理交互方面有天然的优势,自然有强大的函数来处理上传文件。

  和提交一般的数据一样,上传文件也需要表单。下面建立一个特殊的表单来上传文件。

1 <form enctype="multipart/form-data" action="upload_file.php" name="upload_form" method="post">
2     
3     <input type="hidden" name="MAX_FILE_SIZE" value="30000"/>
4     上传的文件:
5     <input type="file" name="userfile"/>
6     <hr/>
7     <input type="submit" name="sub_button" value="上传文件的提交按钮"/>
8 
9 form>

  ok,我们分析一下这个代码段。

立即学习PHP免费学习笔记(深入)”;

  以上的enctype规定了数据在发送给服务器的时候采用什么编码格式。它有三个值:

  MAX_FILE_SIZE隐藏字段(单位为字节)必须放在文件输入字段之前,其值为文件的最大尺寸。这是对浏览器的一个建议,php也会检查此项。不过在浏览器端可以绕过这个障碍,因此不要指望用它来阻挡大文件。但是文件最大值受php.ini中的post_max_size= (number)M的限制。但是最好还是加上这个项目,它可以避免用户在花时间等待上传大文件之后才发现大文件上传失败的麻烦。

  在用户提交文件表单之后,服务器端就可以接受数据了。PHP中有全局变量$_FILES来处理文件,假设上传字段名称为userfile(可以在字段中随意更改)。

  $_FILES['userfile']['name']                客户端文件的原名称。

  $_FILES['userfile']['type']                 文件的MIME类型,这个在PHP端并不检查,因此这个值还不一定有。   

  $_FILES['userfile']['size']                  上传的文件的大小(单位字节)。

印像订购系统
印像订购系统

系统功能模块:商品管理:支持发布,修改,删除,上传图片订单管理:处理订单,允许删除未处理订单系统开发环境:服务器: apache_2.0.55-win32-x86-no_ssl脚本语言:php-4.4.2-win32 和 php5.2Zend Optimizer v3.3.0数据库: mysql-4.0.16-win数据库配置文件:Inc_Config.PHP请根据您的配置设置数据库。数据库文件:

下载

      $_FILES['userfile']['tmp_name']         文件上传后在服务器端存储的临时文件名。

  $_FILES['userfile']['error']                 和该文件上传相关的错误代码。如果上传成功,值为0.

  文件在上传后,默认存储到服务器默认临时目录中,在php.ini中的upload_tmp_dir设置为其他路径。

  在这里还得说说一个move_uploaded_file()函数:

  

  这个函数检查并确保由 file 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 newloc 指定的文件。

  如果 file 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false。

  如果 file 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false,此外还会发出一条警告。

  这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。

  下面是一个php上传文件实例:

 1 <b>上传文件处理b>
 2 <hr/>
 3 php
 4 if (isset($_FILES['userfile'])) {
 5     $uploaddir = 'upload/';
 6     $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
 7     echo '
';
 8     if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
 9         echo '上传文件成功'.'
';
10 } else { 11 echo '上传文件失败'.'
';
12 } 13 echo '这是上传文件的一些信息:' . '
';
14 print_r($_FILES); 15 echo '
';
16     die();
17 }
18 
19 ?>
20 <b>上传表单b>
21 
22 <form enctype="multipart/form-data" action="upload_file.php" name="upload_form" method="post">
23     
24     <input type="hidden" name="MAX_FILE_SIZE" value="30000"/>
25     上传的文件:
26     <input type="file" name="userfile"/>
27     <hr/>
28     <input type="submit" name="sub_button" value="上传文件的提交按钮"/>
29 form>

 

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

4

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

7

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

42

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

4

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

3

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

apipost极速入门
apipost极速入门

共6课时 | 0.4万人学习

谈笑间学会javascript视频教程
谈笑间学会javascript视频教程

共30课时 | 6.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号