49彩票集团首页-49彩票集团官网|官网首页

49彩票集团让大家拥有最好的账号使用功能,49彩票集团是为大家带来更加方便的使用途径,是因为在49彩票集团娱乐的玩家们越来越多,发展成为最受欢迎的网上体育娱乐公司。

复制代码 代码如下

2019-10-01 作者:计算机网络   |   浏览(150)

 

本文实例讲述了php可生成缩略图的文件上传类及其用法。分享给大家供大家参考。具体实现方法如下:

还有些功能没有加上去,如自动更名,图片处理等.可根据需要自己添加.
USE:
$up = new upfile(ROOT_PATH.'data/'.date("Ym",time()),array('gif','jpg','jpeg'),true);
$fileimg = $up->upload($_FILES['img']);//返回上传后文件名数组,$_FILES['img']为上传的文件
可使用$up->log查看上传时信息.
<?php
//====================================================
// FileName: upfile.class.php
// Summary: 文件上传类
// Author: millken(迷路林肯)
// LastModifed: 2008-6-4
// copyright (c)2008 millken@gmail.com
//====================================================
if(!defined('OK'))exit(__FILE__.'Access Denied');
class upfile {
public $ExtensionFileFormat = array();
public $returninfo = array();
private $ImageFileFormat = array('gif','bmp','jpg','jpe','jpeg','png');
private $OtherFileFormat = array('zip','pdf','rar','xls','doc','ppt','csv');
private $savePath;
private $attachment_path = './upfiles/';
private $overwrite = false; # 同名时是否覆盖
private $maxSize = 0; # 文件最大字节,为0时不限制大小
private $ext;
private $errno = 0;
/* 构造函数
* (string)$savePath 文件保存路径,默认为$attachment_path
* (array)$extensionFileFormat 自定义上传文件的扩展名,未设置时为$ImageFileFormat || $OtherFileFormat
* (bool)$overwrite 是否覆盖同名文件
*/
public function __construct($savePath='',$extensionFileFormat = array(),$overwrite = false) {
$this->savePath = empty($savePath)?$this->attachment_pathsavePath.'/';
$this->extensionFileFormat = is_array($extensionFileFormat)?$extensionFileFormat:array();
$this->overwrite = is_bool($overwrite)?$overwrite:false;
}
/*上传函数
* (array)$files 待上传的文件数组$_FILES['attach']
* (number)$maxSize 文件的最大字节数,默认为0不限制上传大小
*/
public function upload($files,$maxSize=0) {
$this->maxSize = is_numeric($maxSize)?$maxSize:0;
if(isset($files) && is_array($files)) {
if(is_array($files['name'])) {
foreach($files as $key => $var) {
foreach($var as $id => $val) {
$attachments[$id][$key] = $val;
}
}
} else {
$attachments[] = $files;
}
}
self::check_file_type($attachments);
if(empty($this->filelist)) {
$this->log .= "待上传的文件列表为空。n";
return array();
}
if(!self::makeDirectory() || !@is_writable($this->savePath)) {
$this->log .= $this->savePath . "不能创建或其权限为不可写。n";
return array();
}
$filearray = array();
foreach($this->filelist as $k=>$f) {
if($this->maxSize && $f['size']>$this->maxSize) {
$this->log .= $f['name'] . "其大小超过了设定的值:" . $this->maxSize ."n";
}elseif($this->overwrite == false && file_exists($this->savePath . $f['name'])) {
$this->log .= $f['name'] . "已经存在于目录:" . $this->savePath . "n";
}else{
@unlink($this->savePath . $f['name']);
if(@move_uploaded_file($f['tmp_name'],$this->savePath . mb_convert_encoding($f['name'],'gbk','utf-8'))) {//如果不进行编码转换,中文将无法支持
$this->log .= $f['name'] . "成功上传到目录:". $this->savePath ."n";
$filearray[$k] = $this->savePath . $f['name'];
}else{
$this->log .= $f['name'] . "上传失败。n";
}
}
}
return $filearray;
}
/*检测文件的类型
*(array)$files 文件数组
*/
private function check_file_type($files) {
$this->filelist = array();
foreach($files as $key=>$file) {
if($file['error'] == 0) {
$ext = strtolower(substr($file['name'], strrpos($file['name'], '.')

php与html分离程序

类文件调用方法如下:

  • 1));
    $str = @file_get_contents($file['tmp_name'],FALSE,NULL,0,20);
    if((in_array($ext,array('jpg','jpeg')) && substr($str ,0, 3) !== "xFFxD8xFF") || ($ext == 'gif' && substr($str ,0, 4) !== 'GIF8') || ($ext == 'png' && substr($str ,0, 8) !== "x89x50x4Ex47x0Dx0Ax1Ax0A") || ($ext == 'bmp' && substr($str ,0, 2) !== 'BM') || ($ext == 'swf' && (substr($str ,0, 3) !== 'CWS' || substr($str ,0, 3) !== 'FWS')) || ($ext == 'zip' && substr($str ,0, 4) !== "PKx03x04") || ($ext == 'rar' && substr($str ,0, 4) !== 'Rar!') || ($ext == 'pdf' && substr($str ,0, 4) !== "x25PDF") || ($ext == 'chm' && substr($str ,0, 4) !== 'ITSF') || ($ext == 'rm' && substr($str ,0, 4) !== "x2ERMF") || ($ext == 'exe' && substr($str ,0, 2) !== "MZ") || (in_array($ext,array('doc','xls','ppt')) && substr($str ,0, 4) !== "xD0xCFx11xE0")) {
    $this->log .= $file['name'] . "文件类型与文件内容不符合。n";
    }elseif((!empty($this->extensionFileFormat) && in_array($ext,$this->extensionFileFormat)) || (empty($this->extensionFileFormat) && (in_array($ext,$this->ImageFileFormat) || in_array($ext,$this->OtherFileFormat)))) {
    $this->filelist[$key] = $file;
    }else{
    $this->log .= $file['name'] . "不符合上传文件的类型。n";
    @unlink($file['tmp_name']);
    }
    }
    }
    }
    /*生成上传目录
    *
    */
    private function makeDirectory() {
    $directoryName = str_replace("\","/", $this->savePath);
    $dirNames = explode('/', $directoryName);
    $total = count($dirNames);
    $temp = '';
    for($i=0; $i<$total; $i++)
    {
    $temp .= $dirNames[$i].'/';
    if (!is_dir($temp))
    {
    $oldmask = @umask(0);
    if (!@mkdir($temp, 0777)) return false;
    49彩票集团,@umask($oldmask);
    }
    };
    if(is_dir($this->savePath)) {
    return true;
    } else {
    return false;
    };
    }
    }
    ?>

<?php
// 追月的小蛤蟆 QQ:695703951     不知道那个师父收小弟..有个人指点.学得快... 
class fc_view{
        var $fc_dir;                                //指定目录
        var $fc_file;                             //视图文件
        var $fc_aval        =array();        //数组
        var $fc_lemark         ='{';                //左标记符号 你可以自由更改,如##.等等符号
        var $fc_rimark         ='}';                //右标记符号
        
        //指定模板目录
        function dir($d){
                $this->fc_dir = $d;
                if (file_exists($this->fc_dir)) {   //检查是否存在目录.如果假.回上一级目录
                        $this->fc_dir = dirname($PATH).$d.'/'; 
                }else{
                        $this->fc_dir = '../'.dirname($PATH).$d.'/';
                }
                }
        //指定模板文件
        function file($f){
                $this->fc_file = $f;
        }
        function ophtm($var){
                $file =@file_get_contents($this->fc_dir.$this->fc_file) or die ("没有找到:".
                $this->fc_dir.$this->fc_file."文件");
                foreach ($var as $key=>$val){
                $file = str_replace($this->fc_lemark.$key.$this->fc_rimark,$val,$file); //替换
                }
                print $file;
        }
}
?>

复制代码 代码如下:

您可能感兴趣的文章:

  • 一个非常实用的php文件上传类
  • 一个经典的PHP文件上传类分享
  • php 文件上传类代码
  • php判断文件上传类型及过滤不安全数据的方法
  • php可生成缩略图的文件上传类实例
  • 非常经典的PHP文件上传类分享
  • 功能强大的php文件上传类
  • PHP文件上传类实例详解
  • PHP多文件上传类实例
  • php文件上传类的分享

本文由49彩票集团发布于计算机网络,转载请注明出处:复制代码 代码如下

关键词: