zoukankan      html  css  js  c++  java
  • PHP 文件上传下载

    简介:这是PHP 文件上传下载的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=329769' scrolling='no'>

    1. php.ini 配置

    ;;;;;;;;;;;;;;;;;;;
    ; Resource Limits ;    资源限制
    ;;;;;;;;;;;;;;;;;;;
    
    ; Maximum execution time of each script, in seconds
    ; http://php.net/max-execution-time
    ; Note: This directive is hardcoded to 0 for the CLI SAPI
    max_execution_time = 30     
    
    ; Maximum amount of time each script may spend parsing request data. It's a good
    ; idea to limit this time on productions servers in order to eliminate unexpectedly
    ; long running scripts. 
    ; Note: This directive is hardcoded to -1 for the CLI SAPI
    ; Default Value: -1 (Unlimited)
    ; Development Value: 60 (60 seconds)
    ; Production Value: 60 (60 seconds)
    ; http://php.net/max-input-time
    max_input_time = 60
    
    ; Maximum input variable nesting level
    ; http://php.net/max-input-nesting-level
    ;max_input_nesting_level = 64
    
    ; Maximum amount of memory a script may consume (128MB)
    ; http://php.net/memory-limit
    memory_limit = 128M

    max_execution_time 每个脚本页面完成执行操作的最大时间,单位是秒。如果为-1,则没有限制

    max_input_time 每个脚本页面处理请求数据的最大时间,单位是秒。如果为-1,则没有限制

    memory_limit 一个脚本页面所能消耗的最大内存

    ; Maximum size of POST data that PHP will accept.
    ; http://php.net/post-max-size
    post_max_size = 8M 

    PHP通过表单POST所能接收的最大值,包括表单里的所有项。

    ;;;;;;;;;;;;;;;;
    ; File Uploads ;
    ;;;;;;;;;;;;;;;;
    
    ; Whether to allow HTTP file uploads.
    ; http://php.net/file-uploads
    file_uploads = On
    
    ; Temporary directory for HTTP uploaded files (will use system default if not
    ; specified).
    ; http://php.net/upload-tmp-dir
    upload_tmp_dir = "e:/wamp/tmp"
    
    ; Maximum allowed size for uploaded files.
    ; http://php.net/upload-max-filesize
    upload_max_filesize = 2M

    file_uploads 是否允许HTTP上传,默认为on,即为开启,无需修改

    upload_tmp_dir 文件上传时的临时存储目录。如果没有指定,会用系统默认的临时文件夹

    upload_max_filesize 允许上传的文件的最大值

    2. 页面设置 3个条件缺一不可

    (1)type属性设置为file

    (2)form的enctype="multipart/form-data"

    (3)method="post"

    <form action="" method="post" enctype="multipart/form-data">
            <input name="filename" type="file"/>
            <input type="submit" value="enter"/>
    </form>

    <input type="hidden" name="MAX_FILE_SIZE" value="1024000"/>

    建议在上传表单中增加一个hidden隐藏域,允许上传的最大字节数。当文件上传大于1MB时,$FILES中的error值将返回2

    3. bool move_uploaded_file(string filename,string destination) 函数是PHP中专门用来上传文件的。

    filename 上传文件的临时文件名,即$_FILES[tmp_name]

    destination 上传后保存的新的路径和名称

    move_uploaded_file() 作用只是将文件换个地方保存,这是出于安全的考虑

    bool is_uploaded_file(string filename) 判断文件是否为POST上传

    <?php
    	header('Content-Type:text/html;charset=utf-8');
    	$tmparr=$_FILES['filename'];
    	if($tmparr['error']==0){
    		if (is_uploaded_file($tmparr['tmp_name'])) {
    			if (move_uploaded_file($tmparr['tmp_name'], $tmparr['name'])) {
    				echo "上传成功";
    			}else {
    				echo "<script>alert('文件不合法');history.go(-1);</script>";
    			}
    		}else {
    			echo "<script>alert('非法操作');history.go(-1);</script>";
    		}
    	}else {
    		echo "<script>alert('上传错误,错误类型: ".$tmparr['error']."');history.go(-1);</script>";
    	}
    ?>

    4. 实现下载 实现下载最常用的方法通过链接下载和通过header()函数下载。

    “PHP 文件上传下载”的更多相关文章 》

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/329769.html pageNo:12
  • 相关阅读:
    前端诡异参数start
    JDK常用命令(二)jstack
    JDK常用命令(一)jps、jstat
    C#反射之基础应用
    c#实现随鼠标移动窗体
    c# 使用api函数 ShowWindowAsync 控制窗体
    简单例子快速了解事件处理和委托 event delegate
    通过 WIN32 API 实现嵌入程序窗体
    C# 轻松实现对窗体(Form)换肤[转]
    C#正则表达式匹配HTML中的图片路径
  • 原文地址:https://www.cnblogs.com/ooooo/p/2250801.html
Copyright © 2011-2022 走看看