浏览模式: 普通 | 列表
ps:使用方法很简单

将水印图片放到执行文件的目录下面,然后赋值各个参数即可,以图片水印为例
$imgSrc = “e:/obj.jpg”;
$markImg = "e:/mark.png";
$markText = "";
$TextColor = "";
$markPos = 9; //右下
$fontType = "";
$markType = "img"; //文字水印text或者图片水印img
setWater($imgSrc,$markImg,$markText,$TextColor,$markPos,$fontType,$markType)

function setWater($imgSrc,$markImg,$markText,$TextColor,$markPos,$fontType,$markType)
...

阅读全文…

PHP下escape解码函数的实现方法

[ 2011-05-03 13:45:06 | 作者: admin ]
很多时候需要用到js的escape函数来转换中文字符,可是用js转换后的字符怎么用php来转换回来呢,下面我就找到了两个很实用的函数。

gb2312网站
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
...

阅读全文…

PHP保留2位小数

[ 2011-04-11 11:10:22 | 作者: admin ]
1.number_format
$number = 1234.5678;
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,57
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

2.round
$number = 1234.5678;
echo round($number ,2);
//1234.57

3.sprintf
$formatted = sprintf ("%s有¥%01.2f。",$name, $money);
echo $formatted;
//张三有¥123.10。

php数组—数组的常用遍历方式

[ 2011-03-30 15:25:20 | 作者: admin ]
for遍历只适合php的索引数组,尽量不要用for循环遍历

foreach循环结构
        foreach($arr as $value)
        foreach($arr as $key=>$value) echo "\$arr[".$key."]=".$value."<br>";
while() list() each()
多维数组中需要在foreach中再加一个foreach
例如:
$arr=array("hello"=>array(1,2,3,"bbb"=>4,5,6,"aaa"=>8),array

("one","two"),100=>array("a",1,"b",2));
foreach($arr as $key=>$value)
{
      foreach($value as $k=>$value)
      {
            echo "\$arr[".$key."...

阅读全文…
p.s. 此项非常危险,php.ini中默认为关。一旦打开可能会对程序调试造成巨大影响,所有变量都成为了全局变量。
例如:
$_session['uid'] = "52news"; 程序中如果指定了 $uid = "blog"; 那么 $_session['uid'] 和 $_GET[uid]的值也就变成了 blog ,而这不是我们想要的结果,杯具。
引用
register_globals = Off
决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量。
(1) PHP 4.2.0 开始,本选项默认为 off。
(2) register_globals 不能在运行时设定(ini_set()),尽管主机允许时可以用 .htaccess。
...

阅读全文…
使用这一句php来判断一个文件是否存在:

echo is_file('/var/downloads/donkey/incoming/[当地球停止转动].The.Day.The.Earth.Stood.Still.DVDRip.XviD-DMT.avi')?"true":"false";
echo is_file('/var/downloads/donkey/incoming/[当地球停止转动].The.Day.The.Earth.Stood.Still.DVDRip.XviD-DMT.avi')?"true":"false"; 结果总是报false

估计原因是php的编码格式和操作系统的文件名编码格式不统一,所以就超市使用如下语句:

echo is_file(iconv('UTF-8','GB2312','/var/downloads/donkey/incoming/[当地...

阅读全文…
  win2003下iis6+ZendOptimizer运行不正常,在C盘根目录下生成了个ZendOptimizer_errors文件,最主要的问题是下面两个:

Unable to open base address file:系统找不到指定的路径。
Unable to view file mapping:重叠 I/O 作在进行中。

  下面分享我的问题核心:出现这样的问题,一般是缓存目录指定错误所导致的!

步骤方法:右击我的电脑 - 属性 - 高级 - 环境变量 - 将用户配置里的TEMP与TMP的路径指定为系统变量里的TEMP与TMP的路径值:如%SystemRoot%\TEMP或者其他路径确定路径,如D:\Temp这个路径确定,重启电脑。

设置好的参考图片如下:

  再次运行php服务器程序,C盘根目录下再不出现ZendOptimizer_errors.txt报告,报告里也...

阅读全文…

substr函数实例

[ 2011-03-06 19:27:08 | 作者: admin ]
php中 substr(string,start,length) 函数
string 必需。规定要返回其中一部分的字符串。
start 必需。规定在字符串的何处开始。
引用
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
引用
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端开始数到指定位置
 



echo substr( "0123456789", 0, 2 ) ;
显示 01

echo substr( "0123456789", 0, -2 );
显示 01234567