zoukankan      html  css  js  c++  java
  • 九,php中上传文件

    1,php网页上传文件大小有限制的,默认最大2M。可以修改php.ini调节大小,upload_max_filesize = 2M。
    网页上传使用http协议,上传大文件性能不好;有些公司做一个客户端软件,使用tcp协议,专门上传大文件的。
    2,文件系统只识别GB2312,不识别utf-8,因此需要对中文进行转码。iconv("utf-8","GB2312",$fileNew),$fileNew是上传的我那件存放的路径。
    3,上传的文件全部放在一个目录下是非常不明智的,可以将每个用户建一个文件夹,每个用户所有资料上传到其自己文件夹。

    4,文件上传的实例

    (1) 文件上传的页面

    <form action="uploadProcess.php" enctype="multipart/form-data" method="post">
        <input type="text" name="username"><br/>
        上传文件:<input type="file" name="myFile"><br/>
        <input type="submit" value="上传">
    </form>
    

    (2)处理上传请求

    <?php
    $username = $_POST['username'];
    $myFile = $_POST['myFile'];
    
    //上传文件大小限制
    if($_FILES['myFile']['size'] > 2 * 1024 * 1024){
        echo '上传的文件不能大于2M!';
        exit();
    }
    //上传文件格式限制
    if($_FILES['myFile']['type'] != 'image/jpg' && $_FILES['myFile']['type'] != 'image/jpeg'){
        echo'上传的文件只能是jpg格式!';
        exit();
    }
    
    $fileTmp = $_FILES['myFile']['tmp_name'];
    if(is_uploaded_file($fileTmp)){
        $fileNew = $_SERVER['DOCUMENT_ROOT'].$username;
        if(!file_exists($fileNew)){  //每个用户上传文件有一个专门文件夹
            mkdir($fileNew);
        }
        //防止上传同名文件,将上传文件改名字,修改后time()+rand(1,1000)+.原文件后缀名
        $fileLast = substr($_FILES['myFile']['name'],strrpos($_FILES['myFile']['name'],"."));
        $fileNew = $fileNew."/".time().rand(1,1000).$fileLast;
    
        if(move_uploaded_file($fileTmp,iconv('utf-8','GB212',$fileNew))){
            echo '上传成功!';
        }else{
            echo '文件从临时目录转移到新目录失败!';
        }
    }else{
        echo '文件没有上传!';
    }
    

      

  • 相关阅读:
    【矩阵】
    关于集合的思路
    TSQL生成Combguid
    ServiceLocator是反模式
    使用表达式树创建对象
    TeamCity配置笔记
    AutoMapper映射ExpressionTree
    Automapper扩展方法
    Cache&Session Viewer
    Orchard源码:Logging
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/5729803.html
Copyright © 2011-2022 走看看