php上传(一)

php上传基础知识总结

1.文件上传

1》文件上传的原理:将客户端上的文件通过浏览器上传到服务器上,
    在将服务器上的文件移动到指定目录。

2》客户端的配置
    表单页面,浏览框
    method=‘post‘
    enctype=‘multipart/form-data‘

3》服务器端配置
    $_FILES:接受上传文件信息

    $_FILES[‘浏览框名称‘][‘name‘]->上传文件的名称
    $_FILES[‘浏览框名称‘][‘type‘]->上传文件的MIME类型
    $_FILES[‘浏览框名称‘][‘tmp_name‘]->服务器端临时文件名称
    $_FILES[‘浏览框名称‘][‘size‘]->上传文件的大小,单位是字节
    $_FILES[‘浏览框名称‘][‘error‘]->上传文件的错误号

    上传文件的错误号:

    0 或者UPLOAD_ERR_OK:代表没有错误,证明客户端上的文件发送到了服务器端
    1或者UPLOAD_ERR_INI_SIZE:超过了PHP配置文件允许上传的文件的最大大小,upload_max_filesize=选项的值
    2或者UPLOAD_ERR_FORM_SIZE:超过了表单中限制上传文件的最大大小,超过了MAX_FILE_SIZE选项的值
    3或者UPLOAD_ERR_PARTIAL:文件部分被上传
    4或者UPLOAD_ERR_NO_FILE:没有选择上传文件
    6或者UPLOAD_ERR_NO_TMP_DIR:没有找到临时目录
    7或者UPLOAD_ERR_CANT_WRITE:目录不能写
    8或者UPLOAD_ERR_EXTENSION:由于PHP扩展程序中断了文件上传

    和文件上传有关的配置信息:
    file_uploads = On,是否支持通过HTTP形式上传文件
    upload_tmp_dir =上传文件的临时目录
    upload_max_filesize = 2M,设置上传文件的最大大小
    post_max_size = 8M,设置表单以POST形式发送数据的最大值
    max_file_uploads = 20,一次最多可以上传多少个文件
    $_FILES是空数组,上传文件为Array()数组的情况,没有接到上传文件信息的可能:
    1》表单中method 和enctype
    2》file_uploads是否开启

    bool move_uploaded_file($tmp_name,$destination):将服务器端的临时文件移动指定目录下,
    叫什么名字;移动成功,返回true,失败false

    3》上传文件限制
        客户端限制
            限制上传文件大小
            <input type=‘hidden‘ name=‘MAX_FILE_SIZE‘ value=‘文件大小,单位字节‘/>

            限制上传文件类型
            <input type=‘file‘ name=‘myFile‘ accept=‘上传文件的MIME类型,多个类型之间以,分隔‘/>

            常用的文件的MIME类型
            扩展名           MIME类型
            jpg/jpeg    image/jpeg
            gif            image/gif
            png            image/png
            html         text/html
            txt         text/plain
            pdf            application/pdf
            在客户端上做的限制,可以绕过

        服务器端限制
            限制上传文件的大小
            限制上传文件的类型
            限制是否是通过HTTP POST方式上传的
            检测是否是真实图片

    //1.接收信息

    //2.判断错误号(有错误的话匹配错误)

    //3.检测上传文件的大小

    //4.检测上传文件的类型

    //5.检测文件是否通过HTTP POST方式上传上来的

    //6.最后移动文件
时间: 2024-08-21 10:12:48

php上传(一)的相关文章

jq upload图片上传代码

/* * 图片上传 * */ function postImgData() { $("#addFileInfo input[name='file']").change(function () { console.log($(this).val()) if (!$(this).val()) { return } var fileTyle = $(this).val().split("."); console.log(fileTyle); if (fileTyle[1]

Uploadify/uploadifive上传(中文文档)

Uploadify是一款基于JQuery的优秀的文件/图片上传的插件,有基于Flash和HTML5两种版本. Uploadify/uploadifive主要特点有: 1. 多文件上传 2. 个性化设置 3. 上传进度条显示 4. 拖拽上传(HTML5版本) 官网:http://www.uploadify.com 部署 在部署一个Uploadify实例前,请确保满足最低要求: 1.jQuery 1.4.x 或更高版本 2.Flash Player 9.0.24 或更高版本 3.支持PHP, ASP

GitHub限制上传大于100M的单个大文件

工作中遇到这个问题,一些美术资源..unitypackage文件大于100M,Push到GitHub时被拒绝.意思是Push到GitHub的每个文件的大小都要求小于100M. 搜了一下,很多解决办法只是把这些超过100M的大文件从本地版本库中移除,使得Push可以成功.但这并没有解决如何上传大文件到GitHub的问题. 解决办法是使用Git LFS. 用法参考:http://blog.csdn.net/tyro_java/article/details/53440666 按照以上方法设置好后,就

如何上传代码到github?

如何上传代码到github? 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可: https://git-for-windows.github.io/ 1.进入Github首页,点击New repository新建一个项目  2.填写相应信息后点击create即可 Repository name: 仓库名称 Description(可选): 仓库描述介绍 Public,

万家报账平台没有“上传文件”按钮的解决办法

在有的电脑没有"上传文件"的按钮? 第一步:首先检查浏览器设置. 第二步:找到IE的Internet选项菜单,开启菜单栏的根据下列方面找,如下图: 第三步:找到Internet选项后,点击,选择安全选项卡,并点击"自定义级别" 第四步:找到"将文件上载到服务器时包含本地目录路径"选择"启用".然后点击确定关闭IE,重启打开. 第五步:更新浏览器的flash版本.在百度中搜索"flash player官网"即

通过jQuery Ajax使用FormData对象上传文件

转自:http://www.cnblogs.com/labnizejuly/p/5588444.html FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". <form id="uploadForm" enctype="multipart/form-data"> <input id="file" type="file"

WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等

核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Webshell上传.命令注入.非法HTTP协议请求.非授权文件访问等.

Java企业微信开发_08_JSSDK多图上传

一.本节要点 1.1可信域名 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名.这个域名必须要通过ICP备案,不然jssdk会配置失败 1.2JS-SDK使用权限签名算法 1.2.1 签名生成规则如下: (1)参与签名的字段包括: noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) . (2)对所有待签名参数按照字段名的ASCII

【iOS工具】快速上传ipa文件到iTunes Connect

通常打包的ipa文件上传到App Store审核,要用到xcode或者Application Loader上传 只能在mac苹果机上传 这里分享的这个ipa上传辅助工具Appuploader在Windows.Linux或Mac系统都能上传.跨平台开发没有Mac苹果机的iOS上架非常实用. 亲测20M的ipa包,一分多钟就上传成功了.非常快. Appuploader还可以在辅助申请iOS证书.同样可以在Windows.Linux或Mac系统中申请,不需要Mac钥匙串助手生成csr文件. Appup

Django表单上传

任务描述:实现表单提交(上传文件) 1.项目目录: 2.源代码: regist.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>regist</title> </head> <body> <h3>regist</h3> <hr> <