• php文件上传类


    <?php
    header("Content-Type:text/html; charset=utf-8");
    if($_POST['submit']){
        $upfiles = new Upload();
        $upfiles->upload_file();
    }
    class Upload{
        public $upload_name;                    //上传文件名
        public $upload_tmp_name;                //上传临时文件名
        public $upload_final_name;                //上传文件的最终文件名
        public $upload_target_dir;                //文件被上传到的目标目录
        public $upload_target_path;                //文件被上传到的最终路径
        public $upload_filetype ;                //上传文件类型
        public $allow_uploadedfile_type;        //允许的上传文件类型
        public $upload_file_size;                //上传文件的大小
        public $allow_uploaded_maxsize=10000000;     //允许上传文件的最大值
        //构造函数
        public function __construct()
        {
            $this->upload_name = $_FILES["file"]["name"]; //取得上传文件名
            $this->upload_filetype = $_FILES["file"]["type"];
            $this->upload_tmp_name = $_FILES["file"]["tmp_name"];
            $this->allow_uploadedfile_type = array('jpeg','jpg','png','gif','bmp','doc','zip','rar','txt','wps');
            $this->upload_file_size = $_FILES["file"]["size"];
            $this->upload_target_dir="./upload";
        }
        //文件上传
        public function upload_file()
        {
            $upload_filetype = $this->getFileExt($this->upload_name);
            if(in_array($upload_filetype,$this->allow_uploadedfile_type))
            {
                if($this->upload_file_size < $this->allow_uploaded_maxsize)
                {
                    if(!is_dir($this->upload_target_dir))
                    {
                        mkdir($this->upload_target_dir);
                        chmod($this->upload_target_dir,0777);
                    }
                    $this->upload_final_name = date("YmdHis").rand(0,100).'.'.$upload_filetype;
                    $this->upload_target_path = $this->upload_target_dir."/".$this->upload_final_name;
                    if(!move_uploaded_file($this->upload_tmp_name,$this->upload_target_path))
                        echo "<font color=red>文件上传失败!</font>";
                }
                else
                {
                    echo("<font color=red>文件太大,上传失败!</font>");
                }
            }
            else
            {
                echo("不支持此文件类型,请重新选择");
            }
        }
       /**
        *获取文件扩展名
        *@param String $filename 要获取文件名的文件
        */
       public function getFileExt($filename){
               $info = pathinfo($filename);
               return $info["extension"];
       }
        
    }
    ?>
    <form enctype="multipart/form-data" method="POST" action="">
      <input type="file" name="file"><input type="submit" name="submit" value="上传">
    </form>
  • 相关阅读:
    SAP模块
    生產製造管理模块
    .NET Framework 3.5 SP1安装时下载文件问题及精简方法2(转)
    .NET Framework 3.5 SP1安装时下载文件问题及精简方法(转)
    .net remoting构架(part 2)转
    vbs下一些取特殊路径的方法总结(转)
    SQL安装命令行详解(转)
    InstallShield Basic MSI工程常见问题解答(转)
    在64位平台使用SQL Server Compact(转)
    vbs 创建多级目录方法
  • 原文地址:https://www.cnblogs.com/qhorse/p/4726229.html
Copyright © 2020-2023  润新知