澳门新葡萄京娱乐场php文件上传程序(支持缩略图)

require_once(‘cls.small_editor.php’);$obj = new SmallEditor();$obj –
setEditor($e_form_name,$e_form_value,$width,$height);

 代码如下

?php /*=========================================================== =
版权协议: = GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991)
=———————————————————— =
文件名称:cls.small_editor.php = 摘 要:轻量级HTML编辑器 for PHP5 = 版
本:1.0 =———————————————————— =
Script Written By phpwms项目组 = 最后更新:xinge = 最后日期:2008-07-24
============================================================*/
!defined(‘IN_SYS’) and die(‘Hacking attempt’); class SmallEditor {
public $editor_dir = ‘editor/SMALLeditor/’; public
function__construct() { global $root_dir; $this – editor_dir =
$root_dir.$this – editor_dir; ob_start(array($this,’callBack’)); } //
初始化 private function editorInit() { $str= ‘link rel=stylesheet
type=text/css href=’.$this – editor_dir.’comm.css /’./n; $str .=
‘script type=text/javascript language=JavaScript src=’.$this –
editor_dir.’all.js/script’./n; $str .= ‘script type=text/javascript
language=JavaScript src=’.$this – editor_dir.’editor.js/script’./n;
$str .= ‘script type=text/javascript language=JavaScript src=’.$this –
editor_dir.’editor_toolbar.js/script’./n; return $str; } // 回调替换
public function callBack($buffer) { return
(str_replace(array(‘/HEAD’,’/Head’,’/head’),$this –
editorInit().’/HEAD’, $buffer)); } public function
setEditor($e_form_name = ‘my_text_area’,$e_form_value =
”,$e_toolbar = ‘AdminMode’,$height=”,$width = ‘100%’) { !$height and
$height = 230; !strstr($height,’%’) and $height = $height.’px’;
!strstr($width,’%’)and $width= $width.’px’; return EOF textarea
id={$e_form_name} name={$e_form_name}
style=display:none;{$e_form_value}/textarea script language=javascript
gContentId = {$e_form_name}; OutputEditorLoading(); /script iframe
id=HtmlEditor class=editor_frame frameborder=0 marginheight=0
marginwidth=0 style=width:{$width};height:{$height};overflow:visible;
hideFocus/iframeEOF; } }?新浪编辑器的调用

<!doctype html public “-//w3c//dtd xhtml 1.0 transitional//en”
“;
<html xmlns=”;
<head>
<meta http-equiv=”content-type” content=”text/html; charset=gb2312″
/>
<title>上传文件程序</title>
<style
type=”text/css教程”>
*{
 font-size:12px;
 margin:0; padding:0;
}
a:link,a:visited{
 text-decoration:none;
澳门新葡萄京娱乐场 , color: #393
}
a:hover{
 text-decoration:underline;
 color:#0033cc
}
input.text{
 border:1px solid
#ccc;height:22px;line-height:22px;padding-left:5px;background:#fff;width:274px;
}
input.button{
 background:#fff url(images/button.png);border:1px solid
#9ea9c5;padding:2px 2px 0px 2px;margin-left:4px; margin-right:4px;
}
</style>
<script language=网页特效>
function check()
{
 var strfilename=document.myform.upfile.value;
 if (strfilename==””)
 {
     alert(“请选择要上传的文件”);
  document.myform.upfile.focus();
     return false;
   }
}
</script>
</head>

<body>
<?php
/***********************
程序:上传文件
功能:上传文件、缩略图、加水印
****************************/
include(“common/upfiles.class.php”);
$path=”../upload/coolsite”;    //文件上传路径
$mix=”smallimg”;     //缩略图路径(在upload下建立)
$mark=”markimg”;    //加水引的图片存放路径(在upload下建立)
$text = array(“www.111cn.net”);   //水印内容
$oupload= new upfiles($path,$mix,$mark);   //实例化类文件

if(isset($_post[‘up’])){
 
 if($_post[‘urlid’]==’1′){ //上传图片 参数urlid 1:上传图片 
2:上传其他文件..
  
  $oupload->tofile = true;  //开启则只保存缩略图或者水印图,删除原图
  $photo = $oupload->upload(“upfile”); //上传的文件域
  $photourl = $oupload->fileurl.”/”.$photo;
  $newsmallimg = $oupload->smallimg($photo);  //缩略图功能
  //$newmarkimg = $oupload->watermark($photo,$text); //水印功能

  //echo $newsmallimg;  //输出缩略图路径
  //echo $newmark; //输出水印图路径
  //echo “<img src='”.$newsmallimg.”‘ border=’0’>”; //输出缩略图
  //echo “<img src='”.$newmark.”‘ border=’0’>”; //输出水印图
 }else{
  $upfilename = $oupload->upload(“upfile”); //上传的文件域
 }
 $strjs = “<script language=javascript> “;
 $strjs .= “parent.document.myform.upfile1.value='”.$newsmallimg.”‘ “;
 $strjs .= “parent.document.myform.upfile2.value='”.$photourl.”‘ “;
 $strjs .= “</script> “;
 echo $strjs;  //把上次文件路径附在upfile1、upfile2中去
}else{
?>
<form action=”upfile.php” method=”post” enctype=”multipart/form-data”
name=”myform” onsubmit=”return check()”>
<input type=”file” name=”upfile” value=”” class=”text”><input
type=”submit” name=”up” value=”上传” class=”button”>
<input type=”hidden” name=”urlid” value=”<?php echo
$_get[‘urlid’]?>”>
</form>
<?php }?>
</body>
</html>

<?
//upfiles.class.php

/*=========================
上传类 upfiles.class.php
===========================*/
class upfiles {
  /*=========================
   //基本参数设置
  ===========================*/
        protected $annexfolder = “upload”; 
//附件存放点,默认为:upload
  protected $dirtype = 2;   //1:按天存入目录 2:按月存入目录
        protected $smallfolder = “smallimg”;  
//缩略图存放路径,注:必须是放在 $upload下的子目录,默认为:smallimg
        protected $markfolder = “markimg”;   
//水印图片存放路径,注:必须是放在 $upload下的子目录,默认为:markimg
        protected $upfiletype = “jpg gif png rar zip”;  
//上传的类型,默认为:jpg gif png rar zip
        protected $upfilemax = 102400;  
//上传大小限制,单位是”kb”,默认为:1024kb
        protected $fonttype = “common/equinoxstd.otf”;   //水印字体库
        protected $maxwidth = 800;   //图片最大宽度
        protected $maxheight = 600;  //图片最大高度
  
  /*=========================
   //初始化上传类
  ===========================*/
        public function
__construct($annexfolder,$smallfolder,$includefolder) {
   
    switch($this->dirtype)
    {
     case 1: $attach_subdir = ‘day_’.date(‘ymd’); break;
     case 2: $attach_subdir = ‘month_’.date(‘ym’); break;
    }
    $attach_dir = $annexfolder.’/’.$attach_subdir;
    $attach_dir_small = $attach_dir.’/’.$smallfolder;
    $attach_dir_mark = $attach_dir.’/’.$includefolder;    
    
    $this->rootfolder = $annexfolder;
                $this->annexfolder = $attach_dir;
                $this->smallfolder = $attach_dir_small;
    $this->markfolder = $attach_dir_mark;
                //$this->fonttype = $includefolder.”/nasaliza.ttf”;
        }
  public function __get($fileurl){
   $fileurl = $this->annexfolder;
   return $fileurl;
  }
  /*=========================
   //上传文件
  ===========================*/
        public function upload($inputname) {
    //检查文件夹是否存在    
    if(!file_exists($this->annexfolder)){
     if(!file_exists($this->rootfolder))
@mkdir($this->rootfolder);
     if(!file_exists($this->annexfolder))
@mkdir($this->annexfolder);
     if(!file_exists($this->smallfolder))
@mkdir($this->smallfolder);
     if(!file_exists($this->markfolder))
@mkdir($this->markfolder);
    }
    if(!file_exists($this->smallfolder)){
     @mkdir($this->smallfolder);
    }    
    if(!file_exists($this->markfolder)){
     @mkdir($this->markfolder);
    }
        
    $this->uptype = $_files[$inputname][“type”];
    $this->upname = $_files[$inputname][“name”];
    $this->uptmp_name = $_files[$inputname][“tmp_name”];
    $this->ups教程ize =
$_files[$inputname][“size”];
    $this->uperror = $_files[$inputname][“error”];

    if($this->uptype){
     switch ($this->uptype)///检查上传的类型
     {    
      case “image/pjpeg”:    
       $fileextname = “jpg”;    
       break;
      case “image/jpeg”:    
       $fileextname = “jpg”;    
       break;  
      case “image/gif”:    
       $fileextname = “gif”;    
       break;    
      case “image/x-png”:    
       $fileextname = “png”;    
       break;    
      case
“application/x-shockwave-flash”:    
       $fileextname = “swf”;    
       break;    
      case “text/plain”:    
       $fileextname = “txt”;    
       break;    
      case “application/msword”:    
       $fileextname = “doc”;    
       break;
      case “application/vnd.ms-excel”:    
       $fileextname = “xls”;    
       break;
      case “application/x-zip-compressed”:    
       $fileextname = “zip”;    
       break;
      case “audio/mpeg”:
       $fileextname = “mp3”;    
       break;
      case “audio/x-ms-wma”:
       $fileextname = “wma”;    
       break;
      case “application/pdf”:
       $fileextname = “pdf”;    
       break;
      default: //如果不满足上述类型,那么上传文件被判断为格式不正确!!
       //$fileextname 
=strtolower(substr(strrchr(trim($this->upname), “.”),1,4));
       //$fileinfo=pathinfo($this->upname);
       //$fileextname=$fileinfo[‘extension’];
       $fileextname = “err”;
      }
     }
    

 

 

           

 

 代码如下

     if(@empty($this->upname)) die(“没有上传文件信息,请确认 <a
href=’javascript:history.go(-1);’>返回</a>”);
               
    //$name =
explode(“.”,$this->upname);//将上传前的文件以”.”分开取得文件类型
                //$filcount = count($name);//获得截取的数量
                //$filtype = $name[$filcount-1];//取得文件的类型
    $filtype = $fileextname;
               
    if(strpos($this->upfiletype,$filtype) === false){
     die(“上传文件类型仅支持 “.$this->upfiletype.” 不支持 “.$filtype
.” <a href=’javascript:history.go(-1);’>返回</a>”);
    }
    $filsize = $this->upsize;
                if(round($filsize/1024) >
($this->upfilemax*1024)) {
                    die(“上传文件超过 “.$this->upfilemax.”kb”);
                }
                $filename =
“es_”.date(“ymdhis”).”.”.$filtype;//写入数据库教程的文件名
                $fileurl =
$this->annexfolder.”/”.$filename;//上传后的文件名称
                $upfileok =
move_uploaded_file($this->uptmp_name,$fileurl);
                if($this->uperror == 0 || $upfileok) {
                    echo “文件上传成功 <a
href=’javascript:history.go(-1);’>继续上传</a>”; 
                } else {
                 die(“上传文件失败,请确认你的上传文件不超过 $upfilemax
kb 或上传时间超时”);
                }
    return $filename;
    //return $fileurl;
        }
        public function getinfo($photo) {
                $photo = $this->annexfolder.”/”.$photo;
                $imageinfo = getimagesize($photo);
                $imginfo[“width”] = $imageinfo[0];
                $imginfo[“height”] = $imageinfo[1];
                $imginfo[“type”] = $imageinfo[2];
                $imginfo[“name”] = basename($photo);
                return $imginfo;
        }
  /*=========================
   //缩略图
  ===========================*/
        public function smallimg($photo,$width=250,$height=192) {
                $imginfo = $this->getinfo($photo);
                $photo = $this->annexfolder.”/”.$photo;//获得图片源
                $newname =
substr($imginfo[“name”],0,strrpos($imginfo[“name”],
“.”)).”_thumb.jpg”;//新图片名称
                if($imginfo[“type”] == 1) {
                        $img = imagecreatefromgif($photo);
                } elseif($imginfo[“type”] == 2) {
                        $img = imagecreatefromjpeg($photo);
                } elseif($imginfo[“type”] == 3) {
                        $img = imagecreatefrompng($photo);
                } else {
                        $img = “”;
                }
                if(empty($img)) return false;
                $width = ($width > $imginfo[“width”]) ?
$imginfo[“width”] : $width;
                $height = ($height > $imginfo[“height”]) ?
$imginfo[“height”] : $height;
                $srcw = $imginfo[“width”];
                $srch = $imginfo[“height”];
                if ($srcw * $width > $srch * $height) {
                        $height = round($srch * $width / $srcw);
                } else {
                        $width = round($srcw * $height / $srch);
                }
                if (function_exists(“imagecreatetruecolor”)) {
                        $newimg = imagecreatetruecolor($width,
$height);
                        imagecopyresampled($newimg, $img, 0, 0, 0, 0,
$width, $height, $imginfo[“width”], $imginfo[“height”]);
                } else {
                        $newimg = imagecreate($width, $height);
                        imagecopyresized($newimg, $img, 0, 0, 0, 0,
$width, $height, $imginfo[“width”], $imginfo[“height”]);
                }
                if ($this->tofile) {
                        if
(file_exists($this->smallfolder.”/”.$newname)){
       @unlink($this->smallfolder.”/”.$newname);
      }
                       
imagejpeg($newimg,$this->smallfolder.”/”.$newname);
                        return $this->smallfolder.”/”.$newname;
                } else {
                        imagejpeg($newimg);
                }
                imagedestroy($newimg);
                imagedestroy($img);
                return $newname;
        }
  /*=========================
   //加水印
  ===========================*/
        public function watermark($photo,$text) {
                $imginfo = $this->getinfo($photo);
                $photo = $this->annexfolder.”/”.$photo;
                $newname = substr($imginfo[“name”], 0,
strrpos($imginfo[“name”], “.”)) . “_mark.jpg”;
    //$newname = substr($imginfo[“name”], 0,
strrpos($imginfo[“name”], “.”)) . “.jpg”;
                switch ($imginfo[“type”]) {
                        case 1:
                                $img = imagecreatefromgif($photo);
                        break;
                        case 2:
                                $img = imagecreatefromjpeg($photo);
                        break;
                        case 3:
                                $img = imagecreatefrompng($photo);
                        break;
                        default:
                                return false;
                }
                if (empty($img)) return false;
                $width = ($this->maxwidth > $imginfo[“width”]) ?
$imginfo[“width”] : $this->maxwidth;
                $height = ($this->maxheight >
$imginfo[“height”]) ? $imginfo[“height”] : $this->maxheight;
                $srcw = $imginfo[“width”];
                $srch = $imginfo[“height”];
                if ($srcw * $width > $srch * $height) {
                        $height = round($srch * $width / $srcw);
                } else {
                        $width = round($srcw * $height / $srch);
                }
                if (function_exists(“imagecreatetruecolor”)) {
                        $newimg = imagecreatetruecolor($width,
$height);
                        imagecopyresampled($newimg, $img, 0, 0, 0, 0,
$width, $height, $imginfo[“width”], $imginfo[“height”]);
                } else {
                        $newimg = imagecreate($width, $height);
                        imagecopyresized($newimg, $img, 0, 0, 0, 0,
$width, $height, $imginfo[“width”], $imginfo[“height”]);
                }
               
                $white = imagecolorallocate($newimg, 255, 255, 255);
                $black = imagecolorallocate($newimg, 0, 0, 0);
                $alpha = imagecolorallocatealpha($newimg, 230, 230, 230,
80);
                //imagefilledrectangle($newimg, 0, $height-26, $width,
$height, $alpha);
                //imagefilledrectangle($newimg, 13, $height-20, 15,
$height-7, $black);
                imagettftext($newimg, 14, 0, 20, $height-14, $white,
$this->fonttype, $text[0]);
                imagettftext($newimg, 14, 0, 20, $height-6, $white,
$this->fonttype, $text[1]);
                if($this->tofile) {
                        if
(file_exists($this->markfolder.”/”.$newname)){
       @unlink($this->markfolder.”/”.$newname);
      }
                       
imagejpeg($newimg,$this->markfolder.”/”.$newname);
      
      if(file_exists($this->annexfolder.”/”.$newname)){
       unlink($this->annexfolder.”/”.$newname);
      }
      
                        return $this->markfolder.”/”.$newname;
                } else {
                        imagejpeg($newimg);
                }
                imagedestroy($newimg);
                imagedestroy($img);
                return $newname;
        }
}?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注