博主资料

留言短消息 加为好友 收藏

用户ID:  62584
昵称:  hbcity

标题

个人主页:

日历

2006 - 2
   1234
567891011
12131415161718
19202122232425
262728    
«» 2006 - 2 «»

日志分类

最新评论

日志文章列表

2006年02月05日 20:28:06

精美图片计数器 for all 。

/********************************************************************/ 
/*   安装使用:
/*     上传count到网站根目录
/*     设置data目录属性777
/*  在你想统计的地方插入:<script src="http://你的网址/count/count.php?id=1"></script>
/*  id=1可以改写成容易记忆的词可以是英文字母也可以是数字,比如:id=mypage
/*  每一个id都将生成一个单独的文件,你可以用同一个系统进行多个地方的计数
/**********************************************************************/

skin文件夹提供了9套风格样式
选择你喜欢的样式覆盖image里面的图片即可

非原创 本人简单修改了一下 也没专业统计准确 只觉得比较好看而已!
演示: http://www.hbcity.net
hbcity
2006.2.5

类别: 无分类 |  评论(0) |  浏览(3738) |  收藏
2006年02月04日 20:21:39

PHP经典的给图片加水印程序

From: http://www.im286.com/viewthread.php?tid=1216148&extra=page%3D2###
如果对PHP的GD库比较熟悉,看懂这篇文章一点都不难了!
我觉得有必要说一下给图片加水印的原理:
取得上传的文件信息,建立一个真彩色图象,分配颜色方案并且填充图像。
通过判断文件类型建立图形,然后把其复制到原建立的图形上,填充并建立rectangle,以备写入imagestring()或是原已经定好的图像
程序当中判断水印类型:一是字符串,另是增加一个图形对象在上面。

Copy code
<?php
/******************************************************************************
参数说明:
$max_file_size : 上传文件大小限制, 单位BYTE
$destination_folder : 上传文件路径
$watermark   : 是否附加水印(1为加水印,其他为不加水印);
使用说明:
1. 将PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;号去掉,因为我们要用到GD库;
2. 将extension_dir =改为你的php_gd2.dll所在目录;
******************************************************************************/
//上传文件类型列表
$uptypes=array(
  'p_w_picpath/jpg',
  'p_w_picpath/jpeg',
  'p_w_picpath/png',
  'p_w_picpath/pjpeg',
  'p_w_picpath/gif',
  'p_w_picpath/bmp',
  'p_w_picpath/x-png'
);
$max_file_size=2000000;   //上传文件大小限制, 单位BYTE
$destination_folder="uploadimg/"; //上传文件路径
$watermark=1;     //是否附加水印(1为加水印,其他为不加水印);
$watertype=1;     //水印类型(1为文字,2为图片)
$waterposition=1;   //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
$waterstring="[url]http://www.mop8.com/[/url]"; //水印字符串
$waterimg="xplore.gif";   //水印图片
$imgpreview=1;     //是否生成预览图(1为生成,其他为不生成);
$imgpreviewsize=1/1;   //缩略图比例
?>
<html>
<head>
<title>图片打水印程序演示![url]WWW.MOP8.COM</title>[/url]
<style type="text/css">
<!--
body
{
  font-size: 9pt;
}
input
{
  background-color: #66CCFF;
  border: 1px inset #CCCCCC;
}
-->
</style>
</head>
<body>
<center>
<form enctype="multipart/form-data" method="post" name="upform">
上传文件:
<input name="upfile" type="file">
<input type="submit" value="上传"><P>
允许上传的文件类型为:<?=implode(', ',$uptypes)?>
</form>
<FONT COLOR="#FF0000">本演示空间由TuWoo提供,本程序采用文字水印的方式.</FONT></CENTER>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
  if (!is_uploaded_file($_FILES["upfile"][tmp_name]))
  //是否存在文件
  {
    echo "图片不存在!";
    exit;
  }
  $file = $_FILES["upfile"];
  if($max_file_size < $file["size"])
  //检查文件大小
  {
    echo "文件太大!";
    exit;
  }
  if(!in_array($file["type"], $uptypes))
  //检查文件类型
  {
    echo "文件类型不符!".$file["type"];
    exit;
  }
  if(!file_exists($destination_folder))
  {
    mkdir($destination_folder);
  }
  $filename=$file["tmp_name"];
  $p_w_picpath_size = getp_w_picpathsize($filename);
  $pinfo=pathinfo($file["name"]);
  $ftype=$pinfo['extension'];
  $destination = $destination_folder.time().".".$ftype;
  if (file_exists($destination) && $overwrite != true)
  {
    echo "同名文件已经存在了";
    exit;
  }
  if(!move_uploaded_file ($filename, $destination))
  {
    echo "移动文件出错";
    exit;
  }
  $pinfo=pathinfo($destination);
  $fname=$pinfo[basename];
  echo " <font color=red>已经成功上传</font><br>文件名: <font color=blue>".$destination_folder.$fname."</font><br>";
  echo " 宽度:".$p_w_picpath_size[0];
  echo " 长度:".$p_w_picpath_size[1];
  echo "<br> 大小:".$file["size"]." bytes";
  if($watermark==1)
  {
    $iinfo=getp_w_picpathsize($destination,$iinfo);
    $np_w_picpath=p_w_picpathcreatetruecolor($p_w_picpath_size[0],$p_w_picpath_size[1]);
    $white=p_w_picpathcolorallocate($np_w_picpath,255,255,255);
    $black=p_w_picpathcolorallocate($np_w_picpath,0,0,0);
    $red=p_w_picpathcolorallocate($np_w_picpath,255,0,0);
    p_w_picpathfill($np_w_picpath,0,0,$white);
    switch ($iinfo[2])
    {
      case 1:
      $sp_w_picpath =p_w_picpathcreatefromgif($destination);
      break;
      case 2:
      $sp_w_picpath =p_w_picpathcreatefromjpeg($destination);
      break;
      case 3:
      $sp_w_picpath =p_w_picpathcreatefrompng($destination);
      break;
      case 6:
      $sp_w_picpath =p_w_picpathcreatefromwbmp($destination);
      break;
      default:
      die("不支持的文件类型");
      exit;
    }
    p_w_picpathcopy($np_w_picpath,$sp_w_picpath,0,0,0,0,$p_w_picpath_size[0],$p_w_picpath_size[1]);
    p_w_picpathfilledrectangle($np_w_picpath,1,$p_w_picpath_size[1]-15,80,$p_w_picpath_size[1],$white);
    switch($watertype)
    {
      case 1:   //加水印字符串
      p_w_picpathstring($np_w_picpath,2,3,$p_w_picpath_size[1]-15,$waterstring,$black);
      break;
      case 2:   //加水印图片
      $sp_w_picpath1 =p_w_picpathcreatefromgif("xplore.gif");
      p_w_picpathcopy($np_w_picpath,$sp_w_picpath1,0,0,0,0,85,15);
      p_w_picpathdestroy($sp_w_picpath1);
      break;
    }
    switch ($iinfo[2])
    {
      case 1:
      //p_w_picpathgif($np_w_picpath, $destination);
      p_w_picpathjpeg($np_w_picpath, $destination);
      break;
      case 2:
      p_w_picpathjpeg($np_w_picpath, $destination);
      break;
      case 3:
      p_w_picpathpng($np_w_picpath, $destination);
      break;
      case 6:
      p_w_picpathwbmp($np_w_picpath, $destination);
      //p_w_picpathjpeg($np_w_picpath, $destination);
      break;
    }
    //覆盖原上传文件
    p_w_picpathdestroy($np_w_picpath);
    p_w_picpathdestroy($sp_w_picpath);
  }
  if($imgpreview==1)
  {
  echo "<br>图片预览:<br>";
  echo "<img src="".$destination."" width=".($p_w_picpath_size[0]*$imgpreviewsize)." height=".($p_w_picpath_size[1]*$imgpreviewsize);
  echo " alt="图片预览:r文件名:".$destination."r上传时间:">";
  }
}
?>
</body>
</html>

类别: 无分类 |  评论(0) |  浏览(3663) |  收藏