0

0

php文件上传基础入门

小云云

小云云

发布时间:2018-03-02 11:04:20

|

2094人浏览过

|

来源于php中文网

原创

一、文件上传

通过php,可以将文件上传到服务器。数据向服务器端提交数据可以通过form、post方式,但是post不能提交文件类型的数据信息。
1>php文件上传指令配置

file_uploads=on|off   确定服务器上的PHP脚本是否可以接受文件上传。max_execution_time=integer   PHP脚本在注册一个致命错误之前可以执行的最长时间,以秒为单位。memory_limit=integer   设置脚本可以分配到的最大内存,以MB为单位。这可以防止失控的脚本独占服务器内存。upload_max_filesize=integer   设置上传文件最大大小,以MB为单位。upload_tmp_dir=string   设置上传文件在处理之前必须存放在服务器的临时一个位置,直到文件移动到最终目的地为止。post_max_size=integer   确定通过POST方法可以接受的信息的最大大小,以MB为单位。

2>$_FILES数组

@@##@@

ENCTYPE=”multipart/form-data”:
 这里是固定写法,否则文件上传失败。
 ACTION=”upload.php”:
 定义要处理上传的程序文件路径 。
 METHOD=”post”:
 定义传输方式为POST,一般情况下Form提交数据都设置为POST。
 <input type=”hidden” name=”MAX_FILE_SIZE” value=”1000000”>
 这是一个隐藏域,定义了上传文件的大小上限,超过这个值时,上传失败。它必须定义在文件上传域的前面.而且这里定义的值不 能超过在php.ini 文件中upload_max_filesize设置的值,否则没有意义了.(注意:MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP.ini设置中的上传文件最大值,是不会 失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。)
 \
 这是文件上传域,Type属性必须设置为file,但Name属性可以自定义,这个值会在代码文件中使用。

$_FILES超级全局变量,它储存各种与上传有关的信息,这些信息对于通过PHP脚本上传到服务器的文件至关重要。
 1. 存储在

_FILES[“file”][“name”]变量中的值就是用户系统中的文件名称。
 3. 存储在_FILES[“file”][“type”]变量中的值就是文件的MIME类型,例如:text/plain或image/gif。
 5. 存储在$_FILES[“file”][“error”]变量中的值将是任何与文件上载相关的错误代码。这是在PHP4.2.0中增加的新特性。
error分别提供了一些数组常量:
 + 0:表示没有发生错误。
 + 1:表示上载文件的大小超出了约定值。文件大小的最大值是PHP配置文件中指定的,该指令是upload_max_filesize。
 + 2:表示上载文件大小超出了HTML表单的MAX_FILE_SIZE元素所指定的最大值。
 + 3:表示文件只被部分上载。
 + 4:表示没有上载任何文件。

3>上传函数
PHP还提供了两个专门用于文件上传过程的函数:is_uploaded_file()和move_uploaded_file()。

//确定是否上传文件if (is_uploaded_file($_FILES["file"]["tmp_name"])) {    echo '已经上传到临时文件夹';    $filename = "upload".time()."png";    //移动上传文件(将文件移动到指定文件夹)
    if (!move_uploaded_file($_FILES["file"]["tmp_name"],img/,$filename)) {        echo '移动失败';        exit;
    }else{        echo "移动成功";
    }
} else {    echo '失败';
}

二、文件目录

将相关的数据组织为文件和目录等实体,程序员需要有一种方法来获得关于文件和目录的重要细节,如位置、大小、最后修改时间、最后访问时间和其他确定信息。
1>目录操作
+ 获得当前文件路径
 1. __FILE__
  当前文件路径+当前文件名
 2. __DIR__
  当前文件路径
 3. dirname(__FILE__)
  当前文件路径
 4. basename(__FILE__)
  当前文件名
 5. pathinfo(__FILE__)
  关于路径的信息的关联数组,其中包括:目录名、基本名和扩展名
 6. realpath(__FILE__)
  绝对路径(前提 在当前项目下确实存在这个文件 才能获取绝对路径,只能读当前文件中对应的文件路径信息)

__FILE__ 和 __DIR__是针对当前文件,dinrname()和basename()是针对任意文件路径

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

2>磁盘、目录和文件大小计算
1. 文件大小
 filesize($path)
 计算该文件大小,字节为单位。

$file = __FILE__;echo round(filesize($file)/1024).'KB';
  1. 磁盘可用空间大小
     disk_free_space()
     指定的目录所在磁盘分区的可用空间。

    Ztoy网络商铺多用户版
    Ztoy网络商铺多用户版

    在原版的基础上做了一下修正:增加1st在线支付功能与论坛用户数据结合,vip也可与论坛相关,增加互动性vip会员的全面修正评论没有提交正文的问题特价商品的调用连接问题删掉了2个木马文件去掉了一个后门补了SQL注入补了一个过滤漏洞浮动价不能删除的问题不能够搜索问题收藏时放入购物车时出错点放入购物车弹出2个窗口修正定单不能删除问题VIP出错问题主题添加问题商家注册页导航连接问题添加了导航FLASH源文

    下载
$drive = 'C:';echo round(disk_free_space($drive)/1024/1024/1024,2).'GB';
  1. 磁盘的总容量
     disk_total_space()
     指定的目录所在磁盘分区的总容量。

$drive = 'C:';echo round(disk_total_space($drive)/1024/1024/1027,2).'GB';

相关推荐:

php文件上传简单实例分享

php文件上传类及PHP封装的多文件上传类分享

HTML5 Ajax文件上传进度条如何显示

php文件上传基础入门

相关文章

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

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

下载

相关标签:

php

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

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

17

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

34

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.6万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 7万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

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

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