5544992 发表于 2015-11-17 12:38:31

PHP编程----一些很有用的PHP原创函数讲解

在PHP网页的开头加入以下<?$time_start = getmicrotime();function getmicrotime(){list($usec, $sec) = explode(&quot; &quot;,microtime());return ((float)$usec + (float)$sec);}?>然后到最后加入以下代码<?$time_end = getmicrotime();printf (&quot;[页面执行时间: %.2f毫秒]/n/n&quot;,($time_end - $time_start)*1000);?>
$file = fopen($filename, 'r') or die(&quot;抱歉,无法打开: $filename&quot;);or在这里是这样理解的,因为在PHP中并不区分数据类型,所以$file既可以是int也可以bool,所以这样的语句不会报错。但其处理过程可能有些朋友不大明白。
其实在大多数的语言中, bool or bool这样的语句中,如果前一个值为真后一个值就不会再判断了。这里也是的,所以如果fopen函数执行正确的话,会返回一个大于0的int值(这其实就是“真”),后面的语句就不会执行了。如果fopen函数执行失败,就会返回false,那么就会判断后面的表达式是否为真了。
结果执行了die()之后,不管返回什么,程序都已经停止执行了,并且显示指定的出错信息,也就达到了调试的目的。
php复选框的问题
<form name=&quot;form1&quot; method=&quot;post&quot; action=&quot;d.php&quot;>
<input type=&quot;checkbox&quot; name=&quot;checkbox[]&quot; value=&quot;111&quot;>
111
<input type=&quot;checkbox&quot; name=&quot;checkbox[]&quot; value=&quot;222&quot;>
222
<input type=&quot;checkbox&quot; name=&quot;checkbox[]&quot; value=&quot;3333&quot;>
333
<input type=&quot;checkbox&quot; name=&quot;checkbox[]&quot; value=&quot;4444&quot;>
4444
<input type=&quot;checkbox&quot; name=&quot;checkbox[]&quot; value=&quot;5555&quot;>
555
<input type=&quot;checkbox&quot; name=&quot;checkbox[]&quot; value=&quot;6666&quot;>
6666
<input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;提交&quot;>
</form>
d.php
<?
$fd=$_POST['checkbox'];
for ($i = 0; $i < (sizeof($fd)); $i++) {
$newhpt=$newhpt.$fd[$i].&quot;,&quot;;
}
echo $newhpt.&quot;<BR>&quot;;?>
PHP代码中函数前面的@是什么意思? @的作用是忽略调用该函数时产生的错误信息。php中日期相加的问题$Form_Vote_ExpireDay=31; $newtime=date(&quot;Y-m-d&quot;,mktime(0, 0, 0, date(&quot;m&quot;) , date(&quot;d&quot;)+$Form_Vote_ExpireDay, date(&quot;Y&quot;))); 关于php水印的问题<?php
//读取目标文件
$im = imageCreatefromjpeg(&quot;1.jpg&quot;);
//设定混合模式
imagealphablending($im, true);
//读取水印
$im2 = imagecreatefrompng(&quot;watermark.png&quot;);
//下面是我写的字,可以不看
//$color = imagecolorallocate($im2, 0, 0, 0);
//imagestring($im2, 12, 1, 1, &quot;i love u jingjing&quot;, $color);
//字结束
//拷贝水印到目标文件
imagecopy($im, $im2, 5, 5, 0, 0, 220, 34);
//输出,可以输出到文件里
imagejpeg($im);imagedestroy($im);
imagedestroy($im1);
?>
<?php
$im = imageCreatefromjpeg(&quot;1.jpg&quot;);
//$im = imagecreatefromgif(&quot;eee.gif&quot;);
//$im = imagecreatefrompng(&quot;1.png&quot;);
$black = imagecolorallocate ($im, 0, 140, 76);
$red = imagecolorallocate ($im, 255, 0, 0);
$string=chr(0xE5).chr(0xAE).chr(0x89).chr(0xE5).chr(0xBA).chr(0x86).chr(0xE6).chr(0x88).chr(0xBF).chr(0xE4).chr(0xBA).chr(0xA7).chr(0xE7).chr(0xBD).chr(0x91);
//imagestring ($im,12,10,10,$string,$red);
imagettftext($im,20,0,4,30,$red,&quot;FZDHTJW.TTF&quot;,$string);
imagepng ($im);
imagedestroy ($im);
?>
<?//这个函数是把汉字转换成UTF-8后,就可以在GD中使用了!//Program writen by sadly www.phpx.com
function gb2utf8($gb)
{
if(!trim($gb))
return $gb;
$filename=&quot;gb2312.txt/&quot;;
$tmp=file($filename);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable=substr($value,7,6);$utf8=/&quot;/&quot;;
while($gb)
{
if (ord(substr($gb,0,1))>127)
{
$this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb));
$utf8.=u2utf8(hexdec($codetable));
}
else
{
$gb=substr($gb,1,strlen($gb));
$utf8.=u2utf8(substr($gb,0,1));
}
}$ret=/&quot;/&quot;;
for($i=0;$i<strlen($utf8);$i+=3)
$ret.=chr(substr($utf8,$i,3));return $ret;
}function u2utf8($c)
{
for($i=0;$i<count($c);$i++)
$str=/&quot;/&quot;;
if ($c < 0x80) {
$str.=$c;
}
else if ($c < 0x800) {
$str.=(0xC0 | $c>>6);
$str.=(0x80 | $c & 0x3F);
}
else if ($c < 0x10000) {
$str.=(0xE0 | $c>>12);
$str.=(0x80 | $c>>6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
else if ($c < 0x200000) {
$str.=(0xF0 | $c>>18);
$str.=(0x80 | $c>>12 & 0x3F);
$str.=(0x80 | $c>>6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
return $str;
}Header(/&quot;Content-type: image/gif/&quot;);
$im = imagecreate(400,300);
$bkg = ImageColorAllocate($im, 0,0,0);
$clr = ImageColorAllocate($im, 255,255,255);
$fnt = /&quot;wb.ttf/&quot;;
//include(/&quot;gb2utf8.php/&quot;);
$str = gb2utf8(/&quot;中国/&quot;);
ImageTTFText($im, 20, 0, 10, 20, $clr, $fnt, $str);
ImageGif($im);
ImageDestroy($im);
?> <?php//对Javascript和select部件的结合运用
//在写程序的过程,我想实现在select对象选中选项后,
//不需要提交按钮,而直接触发动作,且在动作发生后
//的页面中要保持所选择的选项。经过形容,终于通过
//使用Javascript及select对象的onchange属性及
//value值而实现了这种功能。
//代码如下(文件名为&quot;test.php&quot;):
switch ($mon){
    case '': echo '请选择您的星座:';break;
    case '1':echo '您的星座是水瓶座';break;
    case '2':echo '您的星座是双鱼座';break;
    case '3':echo '您的星座是白羊座';break;
    case '4':echo '您的星座是金牛座';break;
    case '5':echo '您的星座是双子座';break;
    case '6':echo '您的星座是巨蟹座';break;
    case '7':echo '您的星座是狮子座';break;
    case '8':echo '您的星座是处女座';break;
    case '9':echo '您的星座是天平座';break;
    case '10':echo '您的星座是天蝎座';break;
    case '11':echo '您的星座是射手座';break;
    case '12':echo '您的星座是魔蝎座';break;
    default:break;
}      
?><form name=&quot;form1&quot;>
<select name=&quot;month_select&quot;
   onChange=&quot;javascript:location.href=
                   this.options.value&quot;>
<option>--请选择你的星座--</option>
<option value=&quot;test.php?mon=1&quot;
   <?php if($mon==&quot;1&quot;) echo &quot; selected&quot;; ?>>水瓶座</option>
<option value=&quot;test.php?mon=2&quot;
   <?php if($mon==&quot;2&quot;) echo &quot; selected&quot;; ?>>双鱼座</option>
<option value=&quot;test.php?mon=3&quot;
   <?php if($mon==&quot;3&quot;) echo &quot; selected&quot;; ?>>白羊座</option>
<option value=&quot;test.php?mon=4&quot;
   <?php if($mon==&quot;4&quot;) echo &quot; selected&quot;; ?>>金牛座</option>
<option value=&quot;test.php?mon=5&quot;
   <?php if($mon==&quot;5&quot;) echo &quot; selected&quot;; ?>>双子座</option>
<option value=&quot;test.php?mon=6&quot;
   <?php if($mon==&quot;6&quot;) echo &quot; selected&quot;; ?>>巨蟹座</option>
<option value=&quot;test.php?mon=7&quot;
   <?php if($mon==&quot;7&quot;) echo &quot; selected&quot;; ?>>狮子座</option>
<option value=&quot;test.php?mon=8&quot;
   <?php if($mon==&quot;8&quot;) echo &quot; selected&quot;; ?>>处女座</option>
<option value=&quot;test.php?mon=9&quot;
   <?php if($mon==&quot;9&quot;) echo &quot; selected&quot;; ?>>天平座</option>
<option value=&quot;test.php?mon=10&quot;
   <?php if($mon==&quot;10&quot;) echo &quot; selected&quot;; ?>>天蝎座</option>
<option value=&quot;test.php?mon=11&quot;
   <?php if($mon==&quot;11&quot;) echo &quot; selected&quot;; ?>>射手座</option>
<option value=&quot;test.php?mon=12&quot;
   <?php if($mon==&quot;12&quot;) echo &quot; selected&quot;; ?>>魔蝎座</option>
</select>
</form><?
$UploadImgUrl=&quot;mag/&quot;;
$ShowDateFileName=strftime(&quot;%Y%m%d%H%M%S&quot;);
if($_GET[&quot;up&quot;]==&quot;up&quot;){
$UploadImgName=$_FILES['pic']['name'];
$FileCount=$_FILES['pic']['size'];
$MAX_FILE_SIZE=$_POST[&quot;MAX_FILE_SIZE&quot;];
if ($FileCount>$MAX_FILE_SIZE){
echo &quot;<script>alert(/&quot;您上传的图片太大,超过指定的大小了!请重新上传!/&quot;)</script>&quot;;
}else{
$EndFileName=strrchr($UploadImgName,&quot;.&quot;);
$FilePath=$UploadImgUrl.&quot;Arc&quot;.$ShowDateFileName.$EndFileName;
if (strspn(strrchr($UploadImgName,&quot;.&quot;),&quot;.jpgifJPGIF&quot;)>3){
   move_uploaded_file($_FILES['pic']['tmp_name'],$FilePath);
?>
   <script >
   parent.input.bny.value+='<?=$FilePath;?><br>'
   location.replace('upload.php')
   </script>
<?
}else{
   echo &quot;<script>alert(/&quot;您刚才上传的图片类型不符合要求!/&quot;);location.href=/&quot;upload.php/&quot;</script>&quot;;
}
}
}
?>
PHP中解决只有半个汉字的问题
function char($str,$len){
$str=substr($str,0,$len);
$str_len=strlen($str);
$j=0;
for ($i=0;$i<=$str_len;$i++){
if (ord(substr($str,$i,1))<160){
$j++;
}
}
if ($j%2==0){
$str=substr($str,0,$len-1);
}
return $str;
}               版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: PHP编程----一些很有用的PHP原创函数讲解