26:用apache后,主页出现乱码
方法一:
adddefaultcharset iso-8859-1 改为 adddefaultcharset off
方法二:
adddefaultcharset gb2312
27:为什么单引号,双引号在接受页面变成(\\”)
解决方法:
方法一:在php.ini中设置:magic_quotes_gpc = off
方法二: $str=stripcslashes($str)
28:怎么让程序一直运行下去,而不是超过30秒就停止
set_time_limit(60)//最长运行时间一分钟
set_time_limit(0)//运行到程序自己结束,或手动停止
29:计算当前在线人数
例子一:用文本实现
php代码:
<?php
//首先你要有读写文件的权限
//本程序可以直接运行,第一次报错,以后就可以
$online_log = “count.dat”; //保存人数的文件,
$timeout = 30;//30秒内没动作者,认为掉线
$entries = file($online_log);
$temp = array();
for ($i=0;$i<count($entries);$i++) {
$entry = explode(“,”,trim($entries[$i]));
if (($entry[0] != getenv(remote_addr)) && ($entry[1] > time()))
{
array_push($temp,$entry[0].”,”.$entry[1].”\n”); //取出其他浏览者的信息,并去掉超时者,保存进$temp
}
}
array_push($temp,getenv(remote_addr).”,”.(time() + ($timeout)).”\n”);
//更新浏览者的时间
$users_online = count($temp); //计算在线人数
$entries = implode(“”,$temp);
//写入文件
$fp = fopen($online_log,”w”);
flock($fp,lock_ex); //flock() 不能在nfs以及其他的一些网络文件系统中正常工作
fputs($fp,$entries);
flock($fp,lock_un);
fclose($fp);
echo “当前有”.$users_online.”人在线”;
?>
30:什么是模板,怎么用
我用的是phplib模板
下面是其中几个函数的使用
$t->set_file(“随便定义”,”模板文件.tpl”);
$t->set_block(“在set_file中定义的”,”<!– 来自模板 –>”,”随便定义”);
$t->parse(“在set_block中定义的”,”<!– 来自模板 –>”,true);
$t->parse(“随便输出结果”,”在set_file中定义的”);
设置循环格式为:
<!–(多于一个空格) begin $handle(多于一个空格)–>
如何将模板生成静态网页
php代码:
<?php
//这里使用phplib模板
…………
…………
$tpl->parse(“output”,”html”);
$output = $tpl->get(“output”);// $output 为整个网页内容
function wfile($file,$content,$mode=w) {
$oldmask = umask(0);
$fp = fopen($file, $mode);
if (!$fp) return false;
fwrite($fp,$content);
fclose($fp);
umask($oldmask);
return true;
}
// 写到文件里
wfile($file,$output);
header(“location:$file”);//重定向到生成的网页
}
?>
phplib下载地址 smarty下载地址
31:怎么用php解释字符
比如:输入2+2*(1+2),自动输出8 可以用eval函数
php代码:
<form method=post action=””>
<input type=”text” name=”str”><input type=”submit”>
</form>
<?php
$str=$_post[str];
eval(“\$o=$str;”);
echo “$o”;
?>
到此,php的问题解答就为大家介绍完毕,希望能对各位有所帮助。