`
sjkgxf7191
  • 浏览: 256908 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP 学习小结(三)—— PHP 上传原理及应用

阅读更多

FORM标签enctype属性
表单中enctype="multipart/form-data "的意思,是设置表单的MIME 编码。默认情况,
这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;
只有使用了multipart/form-data ,才能完整的传递文件数据

<form enctype="multipart/form-data" method="post" name="upform">
<input name="upfile" type="file">

 

$_FILES 系统函数

$_FILES['myFile']['name ']   客户端文件的原名称 。
$_FILES['myFile']['type ']   文件的 MIME 类型 ,例如"image/gif"。
//    image/jpg
//    image/jpeg
//    image/png
//    image/pjpeg
//    image/gif
//    image/bmp
//    image/x-png
//    application/x-zip-compressed
$_FILES['myFile']['size ']   已上传文件的大小 ,单位为字节 。
$_FILES['myFile']['tmp_name ']   储存的临时文件名,一般是系统默认。
$_FILES['myFile']['error ']   该文件上传相关的错误代码 。
//    0; 文件上传成功。
//    1; 超过了文件大小php.ini中。
//    2; 超过了文件大小 MAX_FILE_SIZE 选项指定的值。
//    3; 文件只有部分被上传。
//    4; 没有文件被上传。
//    5; 上传文件大小为0。
 

move_uploaded_file 函数

上传后移动 文件到目标位置 的函数
move_uploaded_file(临时文件,目标位置和文件名);

is_uploaded_file 函数

判断上传MIME类型的文件函数
move_uploaded_file(MIME);

 

示例代码:

<?php
// 判断文件是否上传
if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {
    $upfile = $_FILES["upfile"];
    $name = $upfile["name"];
    $type = $upfile["type"];
    $size = $upfile["size"];
    $tmp_name = $upfile["tmp_name"];
    $error = $upfile["error"];
   
    // 判断文件类型,图片格式的才允许上传
    switch ($type) {
        case 'image/pjpeg': $ok = 1;
            break;
        case 'image/jpeg': $ok = 1;
            break;
        case 'image/gif': $ok = 1;
            break;
        case 'image/png': $ok = 1;
            break;
    }
    
    if ($ok && $error == '0') {
        // 移动文件到指定目录
        move_uploaded_file($tmp_name, 'up/'.$name);
        echo "上传成功";
    }
}
?>
<form action="" enctype="multipart/form-data" method="post" name="up">
    上传文件:
    <input name="upfile" type="file">
    <input type="submit" value="上传"><br>
</form>
1
0
分享到:
评论

相关推荐

    PHPWeb开发技术指南——pdf格式

    1.7 小结 22 第2章 高级语法 23 2.1 PHP语法 23 2.2 定义常量 24 2.3 数组函数 25 2.4 PHP和OOP 31 2.4.1 类:PHP 3.0和PHP 4.0的对比 35 2.4.2 执行类 36 2.4.3 读取对象 37 2.4.4 构造函数 38 2.4.5 继承 38 2.4.6...

    PHP缓存与静态化——PHP缓存与静态化

    **22.4 小结** PHP缓存和静态化是优化Web应用性能的关键手段。通过缓存,可以减少数据库查询,减轻服务器负担;通过静态化,可以快速响应用户请求,提升用户体验。尤其对于大型网站,结合使用这两种技术,可以在...

    php网络开发完全手册

    1.7 小结 23 第2章 PHP的基础语法 24 2.1 语言构成与工作原理 24 2.2 常量与变量 25 2.2.1 常量的定义 25 2.2.2 变量的定义 26 2.2.3 变量的作用域 27 2.2.4 动态变量 29 2.3 运算符和关键字 29 2.4 流程控制语法 30...

    Web环境搭建:Linux+Nginx+PHP+Mysql+Redis

    #### 五、小结 通过以上步骤,您可以轻松地搭建一个基于 **Ubuntu + PHP + Nginx + MySQL + Redis** 的商城系统环境。这套技术栈不仅能满足日常开发需求,还具有较好的扩展性和稳定性。随着业务的发展和技术的进步...

    php+mysql笔记

    - **课程小结**:从第282讲到第284讲,对整个系列进行了总结,强调了PHP与MySQL结合的重要性,以及通过PHP程序操作MySQL数据库的基本流程。 通过以上内容的学习,可以系统地掌握PHP与MySQL的基础知识,了解如何利用...

    PHP的基本应用-MVC

    #### 小结 通过这个简单的在线人数统计实例,我们不仅学习了如何使用PHP获取客户端IP地址、保存用户在线状态,而且还了解了如何统计在线人数。此外,通过使用MVC架构模式,我们可以更清晰地组织代码逻辑,使得程序...

    PHP Cookbook, 3rd Edition.pdf

    #### 小结 以上仅是《PHP Cookbook》第三版中部分关于字符串处理的知识点概述。本书还覆盖了其他如数组处理、文件系统操作、数据库交互等多方面的内容。对于希望提高PHP编程技能的开发者来说,《PHP Cookbook》第三...

    PHP编程中字符串处理的5个技巧小结

    //需要察看是否支持此类文字编码 ———————输出结果—————————————- H鰉e ——————————————————————— 1.使用printf()和sprintf()创建格式化的输出 printf()直接输出到输出...

    需要注意的几个PHP漏洞小结

    本文将围绕“需要注意的几个PHP漏洞小结”这一主题,详细解析几个常见的PHP安全漏洞,并给出相应的防范措施。 #### 一、`register_globals`配置项的安全隐患 `register_globals`是PHP中的一个配置项,它控制着是否...

    Mastering Regular Expressions, 3rd Edition pdf

    ### 小结 - **正则表达式**作为一种强大的文本处理工具,在多种编程语言中都有广泛应用。 - 《Mastering Regular Expressions, 3rd Edition》不仅适合从未接触过正则表达式的读者入门学习,也适合已有基础的读者...

    php数组声明、遍历、数组全局变量使用小结

    在PHP编程语言中,数组是一种非常重要的数据结构,它允许我们高效地管理和操作一组变量,实现成批处理。...在实际开发中,这些概念和技巧会被广泛应用于诸如数据处理、表单提交、会话管理等多个场景。

    GO_vs_PHP:简单的比赛去VS PHP

    标题中的"GO_vs_PHP:简单的比赛去VS PHP"暗示了这次我们要探讨的是两种编程语言——Go(Golang)和PHP之间的对比。这两种语言在Web开发领域都有广泛的应用,但它们的设计理念、性能特点以及适用场景有所不同。 Go...

    国外比较好的几个的Php开源建站平台小结

    首先,我们来关注最著名的博客平台——WordPress。WordPress是由PHP开发的免费开源软件,不仅适合搭建博客,还可用于创建各种类型的信息发布平台。它的强大之处在于其丰富的主题和插件生态系统,使得用户可以根据...

    PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结

    针对在limit下进行预编译操作的场景,PHP5.2.*提供了新的绑定机制——使用问号"?"作为参数的占位符。这种机制在PHP5.1.*中不存在,因此不能用于PHP5.1.*版本。 ```php $stmt=$dbh-&gt;prepare('select * from t2 where...

    php防盗链的常用方法小结

    在互联网上,资源的共享是常见的,但同时也会带来一个问题——防盗链。防盗链是指防止其他网站通过链接直接引用你的服务器资源,尤其是高流量的图片、视频或下载文件,这可能导致你的服务器带宽被大量消耗,甚至影响...

    PHP的openssl加密扩展使用小结(推荐)

    其特点在于加密速度快,加密前后数据大小变化小,但密钥管理却是一个挑战,因为任何一方的密钥泄露都会导致安全性的丧失。 非对称加密算法则使用一对密钥——公钥和私钥。公钥可以公开,用于加密数据,而私钥则需...

    nosql 入门教程

    1.6 小结 16 第2章 NoSQL上手初体验 17 2.1 第一印象——两个简单的例子 17 2.1.1 简单的位置偏好数据集 17 2.1.2 存储汽车品牌和型号数据 22 2.2 使用多种语言 30 2.2.1 MongoDB驱动 30 2.2.2 初识Thrift ...

Global site tag (gtag.js) - Google Analytics