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(" "," ",$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程序员必需清晰的问题汇总** 在PHP开发领域,掌握核心概念和最佳实践至关重要,尤其是在面试过程中。以下是一些经常在面试中出现的问题及其详细解答,这些知识点对于PHP程序员来说是必须了解的。 1. **PHP是...
自9月11日注册matlab中文论坛会员至今,浏览了论坛前辈们发的帖子,学习他们的经验,并解答部分会员的问题,收获颇多,在此说声谢谢大家 :handshake 附件的资料是平时浏览帖子时,感觉对自己有用的就copy下来...
【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、...
在本文中,我们将介绍BugFree的安装和部署过程,并对过程中遇到的一些常见问题进行汇总和解答。BugFree是一个开源的缺陷跟踪系统,它使用PHP编写,可以帮助项目团队跟踪和管理项目中的缺陷和问题。 首先,我们需要...
php中从数据类型和变量定义,各种函数应用,常用的框架介绍,数据库联系,文件上传和下载,缓存,xhtml,服务器配置,文字处理,图片处Sphinx/Coreseek 特性,php检索,页面抓取数据
以下是一些常见问题的解答,涵盖了从界面修改到功能调整的多个方面: 1. 修改欢迎语:在languages\zh_cn\common.php文件中,找到$_LANG['welcome']变量并将其内容修改为你想要的欢迎语。 2. 调整热门搜索关键字:...
根据给定文件的信息,我们可以总结出以下详细的PHP面试知识点: ### 一、基础知识 #### 1.... - **GET**:将表单数据附加到...以上是对给定文件中PHP面试题的详细解答和解释,涵盖了基础知识、简答题以及一些高级概念。
本文将针对在实际使用中可能遇到的常见问题进行总结和解答。 首先,我们来看一下 Laravel 中设置定时任务的基本步骤。在 Laravel 的官方文档中,推荐在服务器的 crontab 配置中添加一行命令来运行 `schedule:run` ...
在PHP面试过程中,掌握常见的笔试题目的解答技巧是提高成功应聘PHP职位的关键。以下是对提供的部分PHP笔试题目的详细解析: 1. `echo count("abc");` 输出什么? 答: 这行代码会输出1,因为`count()`函数用于计算...
**解答**: 使用`mb_substr()`函数,它可以正确处理多字节字符,避免截取中文字符串时出现乱码问题。 #### 十一、变量引用与赋值 **题目**: 分析以下代码执行结果。 **代码**: ```php $a = "hello"; $b = &$a; // ...
最后,文档会汇总一些常见的问题和解决方案,为开发者遇到的问题提供快速解答。 总的来说,"phprpc中文文档"是一个全面且实用的资源,无论你是初次接触Phprpc还是已经有一定经验,都能从中获得有价值的信息,提升...
【标题解析】:“程序员java面试题汇总.zip”这个标题表明这是一个关于Java编程语言的面试问题集合,主要针对程序员在求职过程中可能遇到的技术性面试题目。它涵盖了Java语言的基础、进阶以及实际应用等方面,旨在...
下面,我们将对这些题目进行深入的分析和解答。 首先,我们看到有多个以数字命名的文本文件,如925.txt、925 - 副本.txt等,这很可能代表了不同的算法问题编号。例如,925可能是一个特定的算法题目,而"解题925三种...
解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...
以下是一些重要的PHP学习资料和网址汇总,适合不同阶段的PHP学习者: 1. **PHP官方网站**(http://www.php.net/):这里是获取最新PHP版本、官方文档和技术更新的首选之地。官方文档详细介绍了语法、函数库和API,...
### 必应开发者常见问题解答知识点汇总 #### 如何处理代理服务器阻挡我的搜索? 当使用必应搜索服务时,如果遇到代理服务器阻挡的情况,可以通过在配置文件中添加几行代码来指定`System.Net`的一些参数解决。具体...
解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...