• 20141226--数据提交+文件上传-02


    文件上传

    1. 什么是文件上传?

    将浏览器端电脑上所存在的文件,通过浏览器提交给服务器,并保存在服务器端。

    文件上传条件

    a) 服务器端必须要允许浏览器端上传文件,PHP负责管理

    clip_image002

    为了方便查看文件上传的临时文件,修改临时文件的存储目录:D:/server/tmp

    clip_image004

    b) 浏览器允许文件上传:浏览器能够根据表单选择对应的要上传的文件,文件上传只能是POST提交

    clip_image006

    二进制流不可能直接上传,必须告诉浏览器当前文件的流是二进制流:给form增加一个属性:enctype = “multipart/form-data”告诉浏览器当前要提交给服务器的数据可能存在二进制流

    clip_image008

    以上代码执行时出现了三个现象

    1. 文件实现了上传,存在于指定的临时目录下,以临时文件的形式存在

    2. 随着脚本执行结束,临时文件消失

    操作系统的原因:操作系统认为当前是用户提交的数据,那么该数据存在不安全性,对于系统存在安全威胁,不管当前服务器对该文件处理或者不处理,系统都会在服务器处理完之后清理掉。

    3. 文件上传成功之后,$_POST接收不到数据

    $_POST与post提交一样,$_POST只能接收字符流数据,而文件都是二进制流,所以不能接收

    PHP中专门用$_FILES来接收文件数据。所有的文件上传的数据都在$_FILES里面。

    clip_image010

    文件转移

    在脚本执行期间将临时文件从临时目录转入到指定的文件上传的目录里。

    move_uploaded_file(临时文件路径,目标文件路径):两个路径都是带文件名,移动是直接移动源文件

    copy(临时文件路径,目标文件路径):移动的是复制的文件,源文件不动

    clip_image012

    文件上传流程

    clip_image014

    封装文件上传函数

    文件错误代码说明

    clip_image016

    文件重命名

    clip_image018

    算法

    排序算法:如何将一个无序的数组(数值数组)进行排序

    常见的排序方法:冒泡,选择,插入和快速排序

    冒泡算法

    clip_image020

  • 相关阅读:
    java学习笔记4对象的初始化与回收
    java学习笔记2数据类型、数组
    java学习笔记3类与对象的基础
    java学习笔记5类的方法
    java学习笔记1开发环境平台总结
    BZOJ 4843
    SPOJ TTM
    BZOJ 4154
    POJ 3680
    半平面交模板 HDU 1469
  • 原文地址:https://www.cnblogs.com/lifushan/p/5414676.html
Copyright © 2020-2023  润新知