您的位置主页 > PHP

PHP动态网页开发中常用的一些函数

在PHP网页的开头加入以下
[table][tr][td][color=#ff0000]以下为引用的内容:[/color]
<?
$time_start = getmicrotime();
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
?>[/td][/tr][/table]
然后到最后加入以下代码
[table][tr][td][color=#ff0000]以下为引用的内容:[/color]
<?
$time_end = getmicrotime();
printf ("[页面执行时间: %.2f毫秒]\n\n",($time_end - $time_start)*1000);
?>

$file = fopen($filename, 'r') or die("抱歉,无法打开: $filename");[/td][/tr][/table]
or在这里是这样理解的,因为在php中并不区分数据类型,所以$file既可以是int也可以bool,所以这样的语句不会报错。但其处理过程可能有些朋友不大明白。
其实在大多数的语言中, bool or bool这样的语句中,如果前一个值为真后一个值就不会再判断了。这里也是的,所以如果fopen函数执行正确的话,会返回一个大于0的int值(这其实就是“真”),后面的语句就不会执行了。如果fopen函数执行失败,就会返回false,那么就会判断后面的表达式是否为真了。
结果执行了die()之后,不管返回什么,程序都已经停止执行了,并且显示指定的出错信息,也就达到了调试的目的。
php复选框的问题
[table][tr][td][color=#ff0000]以下为引用的内容:[/color]
<form name="form1" method="post" action="d.php">
<input type="checkbox" name="checkbox[]" value="111">
111
<input type="checkbox" name="checkbox[]" value="222">
222
<input type="checkbox" name="checkbox[]" value="3333">
333
<input type="checkbox" name="checkbox[]" value="4444">
4444
<input type="checkbox" name="checkbox[]" value="5555">
555
<input type="checkbox" name="checkbox[]" value="6666">
6666
<input type="submit" name="submit" value="提交">
</form>[/td][/tr][/table]
d.php
[table][tr][td][color=#ff0000]以下为引用的内容:[/color]
<?
$fd=$_post['checkbox'];
for ($i = 0; $i < (sizeof($fd)); $i++) {
$newhpt=$newhpt.$fd[$i].",";
}
echo $newhpt."<br>";
?>[/td][/tr][/table]
php代码中函数前面的@是什么意思?
@的作用是忽略调用该函数时产生的错误信息。
php中日期相加的问题
[table][tr][td][color=#ff0000]以下为引用的内容:[/color]
<?
$fd=$_post['checkbox'];
for ($i = 0; $i < (sizeof($fd)); $i++) {
$newhpt=$newhpt.$fd[$i].",";
}
echo $newhpt."<br>";
?>[/td][/tr][/table]
关于php水印的问题
[table][tr][td][color=#ff0000]以下为引用的内容:[/color]
<?php
//读取目标文件
$im = imagecreatefromjpeg("1[2].jpg");
//设定混合模式
imagealphablending($im, true);
//读取水印
$im2 = imagecreatefrompng("watermark.png");
//下面是我写的字,可以不看
//$color = imagecolorallocate($im2, 0, 0, 0);
//imagestring($im2, 12, 1, 1, "i love u jingjing", $color);
//字结束
//拷贝水印到目标文件
imagecopy($im, $im2, 5, 5, 0, 0, 220, 34);
//输出,可以输出到文件里
imagejpeg($im);
imagedestroy($im);
imagedestroy($im1);
?>
<?php
$im = imagecreatefromjpeg("1[2].jpg");
//$im = imagecreatefromgif("eee.gif");
//$im = imagecreatefrompng("1[2].png");
$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,"fzdhtjw.ttf",$string);
imagepng ($im);
imagedestroy ($im);
?>
<?
//这个函数是把汉字转换成utf-8后,就可以在gd中使用了!
function gb2utf8($gb)
{
if(!trim($gb))
return $gb;
$filename="gb2312.txt\";
$tmp=file($filename);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6);
$utf8=\"\";
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=\"\";
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=\"\";
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(\"content-type: image/gif\");
$im = imagecreate(400,300);
$bkg = imagecolorallocate($im, 0,0,0);
$clr = imagecolorallocate($im, 255,255,255);
$fnt = \"wb.ttf\";
//include(\"gb2utf8.php\");
$str = gb2utf8(\"中国\");
imagettftext($im, 20, 0, 10, 20, $clr, $fnt, $str);
imagegif($im);
imagedestroy($im);
?>
[/td][/tr][/table]
[table][tr][td][color=#ff0000]以下为引用的内容:[/color]
<?php
//对JavaScript和select部件的结合运用
//在写程序的过程,我想实现在select对象选中选项后,
//不需要提交按钮,而直接触发动作,且在动作发生后
//的页面中要保持所选择的选项。经过形容,终于通过
//使用Javascript及select对象的onchange属性及
//value值而实现了这种功能。
//代码如下(文件名为"test.php"):
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="form1">
<select name="month_select"
>
<option>--请选择你的星座--</option>
<option value="test.php?mon=1"
<?php if($mon=="1") echo " selected"; ?>>水瓶座</option>
<option value="test.php?mon=2"
<?php if($mon=="2") echo " selected"; ?>>双鱼座</option>
<option value="test.php?mon=3"
<?php if($mon=="3") echo " selected"; ?>>白羊座</option>
<option value="test.php?mon=4"
<?php if($mon=="4") echo " selected"; ?>>金牛座</option>
<option value="test.php?mon=5"
<?php if($mon=="5") echo " selected"; ?>>双子座</option>
<option value="test.php?mon=6"
<?php if($mon=="6") echo " selected"; ?>>巨蟹座</option>
<option value="test.php?mon=7"
<?php if($mon=="7") echo " selected"; ?>>狮子座</option>
<option value="test.php?mon=8"
<?php if($mon=="8") echo " selected"; ?>>处女座</option>
<option value="test.php?mon=9"
<?php if($mon=="9") echo " selected"; ?>>天平座</option>
<option value="test.php?mon=10"
<?php if($mon=="10") echo " selected"; ?>>天蝎座</option>
<option value="test.php?mon=11"
<?php if($mon=="11") echo " selected"; ?>>射手座</option>
<option value="test.php?mon=12"
<?php if($mon=="12") echo " selected"; ?>>魔蝎座</option>
</select>
</form>

<?
$uploadimgurl="mag/";
$showdatefilename=strftime("%y%m%d%h%m%s");
if($_get["up"]=="up"){
$uploadimgname=$_files['pic']['name'];
$filecount=$_files['pic']['size'];
$max_file_size=$_post["max_file_size"];
if ($filecount>$max_file_size){
echo "<script>alert(\"您上传的图片太大,超过指定的大小了!请重新上传!\")</script>";
}else{
$endfilename=strrchr($uploadimgname,".");
$filepath=$uploadimgurl."arc".$showdatefilename.$endfilename;
if (strspn(strrchr($uploadimgname,"."),".jpgifjpgif")>3){
move_uploaded_file($_files['pic']['tmp_name'],$filepath);
?>
<script >
parent.input.bny.value+='<br>'
location.replace('upload.php')
</script>
<?
}else{
echo "<script>alert(\"您刚才上传的图片类型不符合要求!\");location.href=\"upload.php\"</script>";
}
}
}
?>
[/td][/tr][/table]
php中解决只有半个汉字的问题
[table][tr][td][color=#ff0000]以下为引用的内容:[/color]
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;
}
[/td][/tr][/table]