Php部分常見問題總結(jié)第2/2頁
更新時(shí)間:2006年07月07日 00:00:00 作者:
10:如何比較兩個(gè)日期相差幾天,(更簡(jiǎn)單的算法)
CODE:
<?PHP
$Date_1="2003-7-15";//也可以是:$Date_1="2003-7-15 23:29:14";
$Date_2="1982-10-1";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d1-$d2)/3600/24);
Echo "偶已經(jīng)奮斗了 $Days 天^_^";
?>
$Date_1="2003-7-15";//也可以是:$Date_1="2003-7-15 23:29:14";
$Date_2="1982-10-1";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d1-$d2)/3600/24);
Echo "偶已經(jīng)奮斗了 $Days 天^_^";
?>
27:為什么單引號(hào),雙引號(hào)在接受頁面變成(\\'\")
解決方法:
方法一:在php.ini中設(shè)置:magic_quotes_gpc = Off
方法二: $str=stripcslashes($str)
28:怎么讓程序一直運(yùn)行下去,而不是超過30秒就停止
set_time_limit(60)//最長(zhǎng)運(yùn)行時(shí)間一分鐘
set_time_limit(0)//運(yùn)行到程序自己結(jié)束,或手動(dòng)停止
29:計(jì)算當(dāng)前在線人數(shù)
例子一:用文本實(shí)現(xiàn)
CODE:
<?php
//首先你要有讀寫文件的權(quán)限
//本程序可以直接運(yùn)行,第一次報(bào)錯(cuò),以后就可以
$online_log = "count.dat"; //保存人數(shù)的文件,
$timeout = 30;//30秒內(nèi)沒動(dòng)作者,認(rèn)為掉線
$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"); //取出其他瀏覽者的信息,并去掉超時(shí)者,保存進(jìn)$temp
}
}
array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."n"); //更新瀏覽者的時(shí)間
$users_online = count($temp); //計(jì)算在線人數(shù)
$entries = implode("",$temp);
//寫入文件
$fp = fopen($online_log,"w");
flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些網(wǎng)絡(luò)文件系統(tǒng)中正常工作
fputs($fp,$entries);
flock($fp,LOCK_UN);
fclose($fp);
echo "當(dāng)前有".$users_online."人在線";
?>
例子二://首先你要有讀寫文件的權(quán)限
//本程序可以直接運(yùn)行,第一次報(bào)錯(cuò),以后就可以
$online_log = "count.dat"; //保存人數(shù)的文件,
$timeout = 30;//30秒內(nèi)沒動(dòng)作者,認(rèn)為掉線
$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"); //取出其他瀏覽者的信息,并去掉超時(shí)者,保存進(jìn)$temp
}
}
array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."n"); //更新瀏覽者的時(shí)間
$users_online = count($temp); //計(jì)算在線人數(shù)
$entries = implode("",$temp);
//寫入文件
$fp = fopen($online_log,"w");
flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些網(wǎng)絡(luò)文件系統(tǒng)中正常工作
fputs($fp,$entries);
flock($fp,LOCK_UN);
fclose($fp);
echo "當(dāng)前有".$users_online."人在線";
?>
用數(shù)據(jù)庫實(shí)現(xiàn)在線用戶
30:什么是模板,怎么用
這里有幾篇關(guān)于模板的文章
我用的是phplib模板
下面是其中幾個(gè)函數(shù)的使用
$T->Set_File("隨便定義","模板文件.tpl");
$T->Set_Block("在set_file中定義的","<!-- 來自模板 -->","隨便定義");
$T->

$T->

設(shè)置循環(huán)格式為:
<!--(多于一個(gè)空格) BEGIN $handle(多于一個(gè)空格)-->
如何將模板生成靜態(tài)網(wǎng)頁
CODE:
<?php
//這里使用phplib模板
............
............
$tpl->parse("output","html");
$output = $tpl->get("output");// $output 為整個(gè)網(wǎng)頁內(nèi)容
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");//重定向到生成的網(wǎng)頁
}
?>
phplib下載地址 smarty下載地址//這里使用phplib模板
............
............
$tpl->parse("output","html");
$output = $tpl->get("output");// $output 為整個(gè)網(wǎng)頁內(nèi)容
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");//重定向到生成的網(wǎng)頁
}
?>
31:怎么用php解釋字符
比如:輸入2+2*(1+2),自動(dòng)輸出8
可以用eval函數(shù)
CODE:
<form method=post action="">
<input type="text" name="str"><input type="submit">
</form>
<?php
$str=$_POST['str'];
eval("$o=$str;");
Echo "$o";
?>
<input type="text" name="str"><input type="submit">
</form>
<?php
$str=$_POST['str'];
eval("$o=$str;");
Echo "$o";
?>
另外,用此函數(shù)必須特別小心!!
如果有人輸入format: d:會(huì)是什么結(jié)果?
相關(guān)文章
eval(cmd)與eval($cmd)的區(qū)別與聯(lián)系
這篇文章主要介紹了eval(cmd)與eval($cmd)的區(qū)別與聯(lián)系,希望對(duì)屏幕前的你有所幫助2021-07-07微信開發(fā)之php表單微信中自動(dòng)提交兩次問題解決辦法
這篇文章主要介紹了微信開發(fā)之php表單微信中自動(dòng)提交兩次問題解決辦法的相關(guān)資料,這里提供了解決辦法及實(shí)例代碼,需要的朋友可以參考下2017-01-01JavaScript與HTML結(jié)合的基本使用方法整理
這篇文章主要介紹了JavaScript與HTML結(jié)合的基本使用方法整理,是JavaScript入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10Win2003服務(wù)器安全加固設(shè)置--進(jìn)一步提高服務(wù)器安全性
Win2003服務(wù)器安全加固設(shè)置--進(jìn)一步提高服務(wù)器安全性...2007-05-05Linux下PHP+Apache的26個(gè)必知的安全設(shè)置
作為一名PHP程序員,PHP程序的安全是非常重要的,那么在LAMP環(huán)境下有哪些必須要掌握的PHP與Apache安全設(shè)置項(xiàng)呢,以下為大家列出了26個(gè)PHP程序員必須知道的安全設(shè)置2020-01-01