袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

php上传图片类

浏览量:774

php上传图片类

<?php

class ieb_upload

{

    var $FormName; //文件域名称

    var $Directroy; //上传至目录

    var $MaxSize; //最大上传大小

    var $CanUpload; //是否可以上传

    var $doUpFile; //上传的文件名

    var $sm_File; //缩略图名称

    var $Error; //错误参数

      

    function ieb_upload($formName = '', $dirPath = '', $maxSize = 2097152) // (1024*2)*1024=2097152 就是 2M

    {

        global $FormName, $Directroy, $MaxSize, $CanUpload, $Error, $doUpFile, $sm_File;

        // 初始化各种参数

        $FormName = $formName;

        $MaxSize = $maxSize;

        $CanUpload = true;

        $doUpFile = '';

        $sm_File = '';

        $Error = 0;

  

        if ($formName == '')

        {

            $CanUpload = false;

            $Error = 1;

            break;

        }

  

        if ($dirPath == '')

            $Directroy = $dirPath;

        else

            $Directroy = $dirPath.'/';

    }

    // 检查文件是否存在

    function scanFile()

    {

        global $FormName, $Error, $CanUpload;

  

        if ($CanUpload)

        {

            $scan = is_readable($_FILES[$FormName]['name']);

  

            if ($scan)

                $Error = 2;

  

            return $scan;

        }

    }

    // 获取文件大小

    function getSize($format = 'B')

    {

        global $FormName, $Error, $CanUpload;

  

        if ($CanUpload)

        {

            if ($_FILES[$FormName]['size'] == 0)

            {

                $Error = 3;

                $CanUpload = false;

            }

  

            switch ($format)

            {

                case 'B':

                    return $_FILES[$FormName]['size'];

                    break;

  

                case 'K':

                    return ($_FILES[$FormName]['size']) / (1024);

                    break;

  

                case 'M':

                    return ($_FILES[$FormName]['size']) / (1024 * 1024);

                    break;

            }

        }

    }

    // 获取文件类型

    function getExt()

    {

        global $FormName, $Error, $CanUpload;

  

        if ($CanUpload)

        {

            $ext = $_FILES[$FormName]['name'];

            $extStr = explode('.', $ext);

            $count = count($extStr)-1;

        }

        return $extStr[$count];

    }

    // 获取文件名称

    function getName()

    {

        global $FormName, $CanUpload;

  

        if ($CanUpload)

            return $_FILES[$FormName]['name'];

    }

    // 新建文件名

    function newName()

    {

        global $CanUpload, $FormName;

  

        if ($CanUpload)

        {

            $FullName = $_FILES[$FormName]['name'];

            $extStr = explode('.', $FullName);

            $count = count($extStr)-1;

            $ext = $extStr[$count];

  

            return date('YmdHis').rand(0, 9).'.'.$ext;

        }

    }

    // 上传文件

    function upload($fileName = '')

    {

        global $FormName, $Directroy, $CanUpload, $Error, $doUpFile;

  

        if ($CanUpload)

        {

            if ($_FILES[$FormName]['size'] == 0)

            {

                $Error = 3;

                $CanUpload = false;

                return $Error;

                break;

            }

        }

  

        if ($CanUpload)

        {

            if ($fileName == '')

                $fileName = $_FILES[$FormName]['name'];

  

            $doUpload = @copy($_FILES[$FormName]['tmp_name'], $Directroy.$fileName);

  

            if ($doUpload)

            {

                $doUpFile = $fileName;

                chmod($Directroy.$fileName, 0777);

                return true;

            }

            else

            {

                $Error = 4;

                return $Error;

            }

        }

    }

    // 创建图片缩略图

    function thumb($dscChar = '', $width = 150, $height = 113)

    {

        global $CanUpload, $Error, $Directroy, $doUpFile, $sm_File;

  

        if ($CanUpload && $doUpFile != '')

        {

            $srcFile = $doUpFile;

  

            if ($dscChar == '')

                $dscChar = 'sm_';

  

            $dscFile = $Directroy.$dscChar.$srcFile;

            $data = getimagesize($Directroy.$srcFile, &$info);

  

            switch ($data[2])

            {

                case 1:

                    $im = @imagecreatefromgif($Directroy.$srcFile);

                    break;

  

                case 2:

                    $im = @imagecreatefromjpeg($Directroy.$srcFile);

                    break;

  

                case 3:

                    $im = @imagecreatefrompng($Directroy.$srcFile);

                    break;

            }

  

            $srcW = imagesx($im);

            $srcH = imagesy($im);

            $ni = imagecreatetruecolor($width, $height);

            imagecopyresized($ni, $im, 0, 0, 0, 0, $width, $height, $srcW, $srcH);

            $cr = imagejpeg($ni, $dscFile);

            chmod($dscFile, 0777);

  

            if ($cr)

            {

                $sm_File = $dscFile;

                return true;

            }

            else

            {

                $Error = 5;

                return $Error;

            }

        }

    }

    // 显示错误参数

    function Err()

    {

        global $Error;

        return $Error;

    }

    // 上传后的文件名

    function UpFile()

    {

        global $doUpFile, $Error;

        if ($doUpFile != '')

            return $doUpFile;

        else

            $Error = 6;

    }

    // 上传文件的路径

    function filePath()

    {

        global $Directroy, $doUpFile, $Error;

        if ($doUpFile != '')

            return $Directroy.$doUpFile;

        else

            $Error = 6;

    }

    // 缩略图文件名称

    function thumbMap()

    {

        global $sm_File, $Error;

        if ($sm_File != '')

            return $sm_File;

        else

            $Error = 6;

    }

    // 显示版本信息

    function ieb_version()

    {

        return 'IEB_UPLOAD CLASS Ver 1.1';

    }

}

  

?>

使用方法

?

<?php 

// 加载上传类

// include('ieb_upload.inc');

?>

  

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>无标题文档</title>

</head>

  

<body style="font-size:12px;">

<form action="" method="post" enctype="multipart/form-data" name="form1">

<input type="file" name="file">

<input type="submit" name="Submit" value="提交">

<input name="scan" type="hidden" id="up" value="true">

</form><b /><br/>

  

<?php

if (isset($_REQUEST['scan']))

{

    // 声明一个上传类

    $upfos = new ieb_upload('file', 'tmp');

  

    

    // 返回将要上传的文件名称

    echo '文件名称:'.$upfos->getName().'<br/>';

    // 返回文件后缀名

    echo '文件类型:'.$upfos->getExt().'<br/>';

    // 返回文件大小

    echo '文件大小:'.$upfos->getSize().'<br/>';

  

    

    // 随机生成的文件名

    echo '随机文件:'.$upfos->newName().'<br/>';

  

    

    // 上传文件

    $upfos->upload();

  

    

    // 生成缩略图

    $upfos->thumb();

  

    

    // 返回生成的文件名

    echo '生成文件:'.$upfos->UpFile().'<br/>';

    // 返回文件的路径

    echo '文件路径:'.$upfos->filePath().'<br/>';

    // 返回缩略图的名称

    echo '缩略图片:'.$upfos->thumbMap().'<br/>';

    // 返回上传类版本信息

    echo '版本信息:'.$upfos->ieb_version().'<br/>';

}

?>

</body>

</html>


打赏