zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    c++调用lua
    HTTP实现长连接(TTP1.1和HTTP1.0相比较而言,最大的区别就是增加了持久连接支持Connection: keep-alive)
    C++: std::string 与 Unicode 如何结合?
    统计一下你写过多少代码
    解读jQuery中extend函数
    C#如何通过SOCKET的方式获取HTTPONLY COOKIE
    Java进阶代码
    SQLSERVER聚集索引与非聚集索引的再次研究(上)
    c,c++函数返回多个值的方法
    COM思想的背后
  • 原文地址:https://www.cnblogs.com/lifushan/p/5414676.html
Copyright © 2011-2022 走看看