当前位置:开发者网络 >> 技术教程 >> PHP教程 >> PHP应用 >> 内容
精彩推荐
分类最新教程
分类热点教程
  
Php高手带路--问题汇总解答(6)
作者:未知
日期:2005-12-21
人气:
投稿:(转贴)
来源:未知
字体:
收藏:加入浏览器收藏
以下正文:
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的问题解答就为大家介绍完毕,希望能对各位有所帮助。

相关文章: