`
#天琪#
  • 浏览: 159419 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

php 问题汇总解答

    博客分类:
  • php
阅读更多
1.如何截取指定长度汉字而不会出现以"?>"结尾,超出部分以"..."代替

  一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.

  PHP代码:

  <?PHP
  $str="这个字符好长呀,^_^";
  $Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
  Echo   "$Short_Str";
  Function csubstr($str,$start,$len)
  {
  $strlen=strlen($str);
  $clen=0;
  for($i=0;$i<$strlen;$i++,$clen++)
  {
  if ($clen>=$start+$len)
  break;
  if(ord(substr($str,$i,1))>0xa0)
   //ord--Return ASCII value of character
   //substr -- Return part of a string
   //FE:$rest = substr("abcdef", 1, 3); // returns "bcd"
   //在ASCII中,0xa0表示汉字的开始 
  {
  if ($clen>=$start)
  $tmpstr.=substr($str,$i,2);
  $i++;
  }
  else
  {
  if ($clen>=$start)
  $tmpstr.=substr($str,$i,1);
  }
  }

  return $tmpstr;
  }
  Function showShort($str,$len)
  {
  $tempstr = csubstr($str,0,$len);
  if ($str<>$tempstr)
  $tempstr .= "..."; //要以什么结尾,修改这里就可以.

  return $tempstr;
  }

2.数据放入数据库和取出来显示在页面需要注意什么
  入库时

  $str=addslashes($str);

  $sql="insert into `tab` (`content`) values('$str')";

  出库时

  $str=stripslashes($str);

  显示时

  $str=htmlspecialchars(nl2br($str)) ;
  <?php

  //$content来自数据库

  $content=nl2br(htmlspecialchars($content));

  $content=str_replace(" ","&nbsp;",$content);

  $content=str_replace("\n","<br>\n",$content);

  ?>

3.我点击后退按钮,为什么之前填写的东西不见
  这是因为你使用了session.

  解决办法:
  PHP代码:

  <?php session_cache_limiter('private, must-revalidate');session_start();
  .....................?>



4.如何取得用户的真实IP

  PHP代码:

  <? function iptype1 () {

   if (getenv("HTTP_CLIENT_IP"))

   {
  return getenv("HTTP_CLIENT_IP");

  }

  else

  {

  return "none";
  }

  }

  function iptype2 () {

  if (getenv("HTTP_X_FORWARDED_FOR"))

  {

   return
  getenv("HTTP_X_FORWARDED_FOR");

  }

  else {

  return "none";
  }

  }

function iptype3 () {

  if (getenv("REMOTE_ADDR"))

  {

   return getenv("REMOTE_ADDR");
  }

   else {

  return "none";

   }

   }

  function ip() {

   $ip1 = iptype1();

   $ip2 = iptype2();

  $ip3 = iptype3();

  if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown")

  {

  return $ip1;

  }

   elseif (isset($ip2) && $ip2 != "none" && $ip2 != "unknown")
  {

  return $ip2;

  }

  elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown")

   {

  return $ip3;

  }

   else

  { return "none"; }

  }

   Echo ip();

  ?>

5.如何从数据库读取三天内的所有记录
  首先表格里要有一个DATETIME字段记录时间,

  格式为'2003-7-15 16:50:00'
  SELECT * FROM `xltxlm` WHERE TO_DAYS(NOW()) - TO_DAYS(`date`) <= 3;


6.怎么在图片里显示IP地址

  PHP代码:

  <? Header("Content-type: image/png");

  $img = ImageCreate(180,50);
  $ip = $_SERVER['REMOTE_ADDR'];

   ImageColorTransparent($img,$bgcolor);

  $bgColor = ImageColorAllocate($img, 0x2c,0x6D,0xAF); // 背景颜色

  $shadow = ImageColorAllocate($img, 250,0,0); // 阴影颜色

  $textColor = ImageColorAllocate($img, oxff,oxff,oxff); // 字体颜色

  ImageTTFText($img,10,0,78,30,$shadow,"d:/windows/fonts/Tahoma.ttf",$ip);
//显示背景

  ImageTTFText($img,10,0,25,28,$textColor,"d:/windows/fonts/Tahoma.ttf","your ip is".$ip);

// 显示IP    

  ImagePng($img);    

  imagecreatefrompng($img);
  ImageDestroy($img);      

  ?>

7.如何读取当前地址栏信息
  PHP代码:

  <?php

  $s="http://{$_SERVER['HTTP_HOST']}:{$_SERVER["SERVER_PORT"]}{$_SERVER['SCRIPT_NAME']}";

  $se='';
  foreach ($_GET as $key => $value) {
  $se.=$key."=".$value."&";
  }
  $se=Preg_Replace("/(.*)&$/","$1",$se);
  $se?$se="?".$se:"";
  echo $s."?$se";
  ?>

8.计算当前在线人数
  例子一:用文本实现
  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."人在线";
  ?>



分享到:
评论

相关推荐

    PHP程序员必需清晰的问题汇总_.docx

    **PHP程序员必需清晰的问题汇总** 在PHP开发领域,掌握核心概念和最佳实践至关重要,尤其是在面试过程中。以下是一些经常在面试中出现的问题及其详细解答,这些知识点对于PHP程序员来说是必须了解的。 1. **PHP是...

    个人整理GUI版块部分问题汇总-www.ilovematlab.cn论坛讨论问题汇总(部分,欢迎补充).part1.rar

     自9月11日注册matlab中文论坛会员至今,浏览了论坛前辈们发的帖子,学习他们的经验,并解答部分会员的问题,收获颇多,在此说声谢谢大家 :handshake  附件的资料是平时浏览帖子时,感觉对自己有用的就copy下来...

    java 程序员面试指南,常用面试题汇总解答.zip

    【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、...

    bugfree安装和部署问题汇总

    在本文中,我们将介绍BugFree的安装和部署过程,并对过程中遇到的一些常见问题进行汇总和解答。BugFree是一个开源的缺陷跟踪系统,它使用PHP编写,可以帮助项目团队跟踪和管理项目中的缺陷和问题。 首先,我们需要...

    php知识点大总结

    php中从数据类型和变量定义,各种函数应用,常用的框架介绍,数据库联系,文件上传和下载,缓存,xhtml,服务器配置,文字处理,图片处Sphinx/Coreseek 特性,php检索,页面抓取数据

    ECshop商城程序常见的96个小问题汇总

    以下是一些常见问题的解答,涵盖了从界面修改到功能调整的多个方面: 1. 修改欢迎语:在languages\zh_cn\common.php文件中,找到$_LANG['welcome']变量并将其内容修改为你想要的欢迎语。 2. 调整热门搜索关键字:...

    PHP面试题汇总附答案

    根据给定文件的信息,我们可以总结出以下详细的PHP面试知识点: ### 一、基础知识 #### 1.... - **GET**:将表单数据附加到...以上是对给定文件中PHP面试题的详细解答和解释,涵盖了基础知识、简答题以及一些高级概念。

    Laravel cron定时任务不执行的问题汇总.docx

    本文将针对在实际使用中可能遇到的常见问题进行总结和解答。 首先,我们来看一下 Laravel 中设置定时任务的基本步骤。在 Laravel 的官方文档中,推荐在服务器的 crontab 配置中添加一行命令来运行 `schedule:run` ...

    PHP笔试题目汇总 提高您的面试成功率

    在PHP面试过程中,掌握常见的笔试题目的解答技巧是提高成功应聘PHP职位的关键。以下是对提供的部分PHP笔试题目的详细解析: 1. `echo count("abc");` 输出什么? 答: 这行代码会输出1,因为`count()`函数用于计算...

    PHP面试题及答案,另附学习心得

    **解答**: 使用`mb_substr()`函数,它可以正确处理多字节字符,避免截取中文字符串时出现乱码问题。 #### 十一、变量引用与赋值 **题目**: 分析以下代码执行结果。 **代码**: ```php $a = "hello"; $b = &$a; // ...

    phprpc中文文档

    最后,文档会汇总一些常见的问题和解决方案,为开发者遇到的问题提供快速解答。 总的来说,"phprpc中文文档"是一个全面且实用的资源,无论你是初次接触Phprpc还是已经有一定经验,都能从中获得有价值的信息,提升...

    程序员java面试题汇总.zip

    【标题解析】:“程序员java面试题汇总.zip”这个标题表明这是一个关于Java编程语言的面试问题集合,主要针对程序员在求职过程中可能遇到的技术性面试题目。它涵盖了Java语言的基础、进阶以及实际应用等方面,旨在...

    php期末算法练习题.zip

    下面,我们将对这些题目进行深入的分析和解答。 首先,我们看到有多个以数字命名的文本文件,如925.txt、925 - 副本.txt等,这很可能代表了不同的算法问题编号。例如,925可能是一个特定的算法题目,而"解题925三种...

    (全)传智播客PHP就业班视频完整课程

    解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...

    PHP学习资料汇总与网址

    以下是一些重要的PHP学习资料和网址汇总,适合不同阶段的PHP学习者: 1. **PHP官方网站**(http://www.php.net/):这里是获取最新PHP版本、官方文档和技术更新的首选之地。官方文档详细介绍了语法、函数库和API,...

    《必应开发者常见问题解答》.pdf

    ### 必应开发者常见问题解答知识点汇总 #### 如何处理代理服务器阻挡我的搜索? 当使用必应搜索服务时,如果遇到代理服务器阻挡的情况,可以通过在配置文件中添加几行代码来指定`System.Net`的一些参数解决。具体...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...

Global site tag (gtag.js) - Google Analytics