设为首页 收藏本站
查看: 1243|回复: 0

[经验分享] PHP编程----一些很有用的PHP原创函数讲解

[复制链接]

尚未签到

发表于 2015-11-17 12:38:31 | 显示全部楼层 |阅读模式
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函数执行正确的话,会返回一个大于0int值(这其实就是),后面的语句就不会执行了。如果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[2].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[2].jpg&quot;);
//$im = imagecreatefromgif(&quot;eee.gif&quot;);
//$im = imagecreatefrompng(&quot;1[2].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[hexdec(substr($value,0,6))]=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[hexdec(bin2hex($this))-0x8080]));
}
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//Javascriptselect部件的结合运用
//
在写程序的过程,我想实现在select对象选中选项后,
//
不需要提交按钮,而直接触发动作,且在动作发生后
//
的页面中要保持所选择的选项。经过形容,终于通过
//
使用Javascriptselect对象的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[this.selectedIndex].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+='<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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-140321-1-1.html 上篇帖子: php编程提高执行效率技巧 下篇帖子: PHP开发工程师(初级,中级,高级)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表