收藏的PHP常用函数 推荐收藏保存

内容:
<div class="codetitle"><a style="CURSOR: pointer" data="13735" class="copybut" id="copybut13735" onclick="doCopy('code13735')"> 代码如下:

<div class="codebody" id="code13735">
<?
function GetIP() { //获取IP
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if ($_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="5449" class="copybut" id="copybut5449" onclick="doCopy('code5449')"> 代码如下:
<div class="codebody" id="code5449">
<?php
function DateAdd($date,$int,$unit = "d") { //时间的增加(还可以改进成时分秒都可以增加,有时间再补上)
$dateArr = explode("-",$date);
$value[$unit] = $int;
return date("Y-m-d",mktime(0,$dateArr[1] + $value['m'],$dateArr[2] + $value['d'],$dateArr[0] + $value['y']));
}
function GetWeekDay($date) { //计算出给出的日期是星期几
$dateArr = explode("-",$date);
return date("w",$dateArr[1],$dateArr[2],$dateArr[0]));
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="83423" class="copybut" id="copybut83423" onclick="doCopy('code83423')"> 代码如下:
<div class="codebody" id="code83423">
<?
function check_date($date) { //检查日期是否合法日期
$dateArr = explode("-",$date);
if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {
return checkdate($dateArr[1],$dateArr[0]);
}
return false;
}
function check_time($time) { //检查时间是否合法时间
$timeArr = explode(":",$time);
if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) {
if (($timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($timeArr[2] >= 0 && $timeArr[2] <= 59))
return true;
else
return false;
}
return false;
}

<div class="codetitle"><a style="CURSOR: pointer" data="22944" class="copybut" id="copybut22944" onclick="doCopy('code22944')"> 代码如下:
<div class="codebody" id="code22944">
function DateDiff($date1,$date2,$unit = "") { //时间比较函数,返回两个日期相差几秒、几分钟、几小时或几天
switch ($unit) {
case 's':
$dividend = 1;
break;
case 'i':
$dividend = 60;
break;
case 'h':
$dividend = 3600;
break;
case 'd':
$dividend = 86400;
break;
default:
$dividend = 86400;
}
$time1 = strtotime($date1);
$time2 = strtotime($date2);
if ($time1 && $time2)
return (float)($time1 - $time2) / $dividend;
return false;
}
?>

PHP重定向
<div class="codetitle"><a style="CURSOR: pointer" data="4381" class="copybut" id="copybut4381" onclick="doCopy('code4381')"> 代码如下:<div class="codebody" id="code4381">
<?
方法一:header("Location: index.php");
方法二:echo "<scrīpt>window.location ="$PHP_SELF";</scrīpt>";
方法三:echo "<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php">";
?>

获取访问者浏览器
<div class="codetitle"><a style="CURSOR: pointer" data="86627" class="copybut" id="copybut86627" onclick="doCopy('code86627')"> 代码如下:<div class="codebody" id="code86627">
<?
function browse_infor()
{
$browser="";$browserver="";
$Browsers =array("Lynx","MOSAIC","AOL","Opera","JAVA","MacWeb","WebExplorer","OmniWeb");
$Agent = $GLOBALS["HTTP_USER_AGENT"];
for ($i=0; $i<=7; $i++)
{
if (strpos($Agent,$Browsers[$i]))
{
$browser = $Browsers[$i];
$browserver ="";
}
}
if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent))
{
$temp =explode("(",$Agent); $Part=$temp[0];
$temp =explode("/",$Part); $browserver=$temp[1];
$temp =explode(" ",$browserver); $browserver=$temp[0];
$browserver =preg_replace("/([d.]+)/","1",$browserver);
$browserver = " $browserver";
$browser = "Netscape Navigator";
}
if (ereg("Mozilla",$Agent) && ereg("Opera",$Agent); $Part=$temp[1];
$temp =explode(")",$browserver);$browserver=$temp[2];
$browserver =preg_replace("/([d.]+)/",$browserver);
$browserver = " $browserver";
$browser = "Opera";
}
if (ereg("Mozilla",$Agent) && ereg("MSIE",$Agent))
{
$temp = explode("(",$Agent); $Part=$temp[1];
$temp = explode(";",$Part); $Part=$temp[1];
$temp = explode(" ",$Part);$browserver=$temp[2];
$browserver =preg_replace("/([d.]+)/",$browserver);
$browserver = " $browserver";
$browser = "Internet Explorer";
}
if ($browser!="")
{
$browseinfo = "$browser$browserver";
}
else
{
$browseinfo = "Unknown";
}
return $browseinfo;
}
//调用方法$browser=browseinfo() ;直接返回结果
?>

获取访问者操作系统
<div class="codetitle"><a style="CURSOR: pointer" data="13331" class="copybut" id="copybut13331" onclick="doCopy('code13331')"> 代码如下:<div class="codebody" id="code13331">
<?
function osinfo() {
$os="";
$Agent = $GLOBALS["HTTP_USER_AGENT"];
if (eregi('win',$Agent) && strpos($Agent,'95')) {
$os="Windows 95";
}
elseif (eregi('win 9x','4.90')) {
$os="Windows ME";
}
elseif (eregi('win',$Agent) && ereg('98',$Agent)) {
$os="Windows 98";
}
elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {
$os="Windows 2000";
}
elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {
$os="Windows NT";
}
elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {
$os="Windows XP";
}
elseif (eregi('win',$Agent) && ereg('32',$Agent)) {
$os="Windows 32";
}
elseif (eregi('linux',$Agent)) {
$os="Linux";
}
elseif (eregi('unix',$Agent)) {
$os="Unix";
}
elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
$os="SunOS";
}
elseif (eregi('ibm',$Agent)) {
$os="IBM OS/2";
}
elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {
$os="Macintosh";
}
elseif (eregi('PowerPC',$Agent)) {
$os="PowerPC";
}
elseif (eregi('AIX',$Agent)) {
$os="AIX";
}
elseif (eregi('HPUX',$Agent)) {
$os="HPUX";
}
elseif (eregi('NetBSD',$Agent)) {
$os="NetBSD";
}
elseif (eregi('BSD',$Agent)) {
$os="BSD";
}
elseif (ereg('OSF1',$Agent)) {
$os="OSF1";
}
elseif (ereg('IRIX',$Agent)) {
$os="IRIX";
}
elseif (eregi('FreeBSD',$Agent)) {
$os="FreeBSD";
}
if ($os=='') $os = "Unknown";
return $os;
}
//调用方法$os=os_infor() ;
?>

文件格式类
<div class="codetitle"><a style="CURSOR: pointer" data="33221" class="copybut" id="copybut33221" onclick="doCopy('code33221')"> 代码如下:<div class="codebody" id="code33221">
<?
$mime_types = array(
'gif' => 'image/gif',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpe' => 'image/jpeg',
'bmp' => 'image/bmp',
'png' => 'image/png',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'pict' => 'image/x-pict',
'pic' => 'image/x-pict',
'pct' => 'image/x-pict',
'psd' => 'image/x-photoshop',
'swf' => 'application/x-shockwave-flash',
'js' => 'application/x-javascrīpt',
'pdf' => 'application/pdf',
'ps' => 'application/postscrīpt',
'eps' => 'application/postscrīpt',
'ai' => 'application/postscrīpt',
'wmf' => 'application/x-msmetafile',
'css' => 'text/css',
'htm' => 'text/html',
'html' => 'text/html',
'txt' => 'text/plain',
'xml' => 'text/xml',
'wml' => 'text/wml',
'wbmp' => 'image/vnd.wap.wbmp',
'mid' => 'audio/midi',
'wav' => 'audio/wav',
'mp3' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'avi' => 'video/x-msvideo',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'lha' => 'application/x-lha',
'lzh' => 'application/x-lha',
'z' => 'application/x-compress',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'gzip' => 'application/x-gzip',
'tgz' => 'application/x-gzip',
'tar' => 'application/x-tar',
'bz2' => 'application/bzip2',
'zip' => 'application/zip',
'arj' => 'application/x-arj',
'rar' => 'application/x-rar-compressed',
'hqx' => 'application/mac-binhex40',
'sit' => 'application/x-stuffit',
'bin' => 'application/x-macbinary',
'uu' => 'text/x-uuencode',
'uue' => 'text/x-uuencode',
'latex'=> 'application/x-latex',
'ltx' => 'application/x-latex',
'tcl' => 'application/x-tcl',
'pgp' => 'application/pgp',
'asc' => 'application/pgp',
'exe' => 'application/x-msdownload',
'doc' => 'application/msword',
'rtf' => 'application/rtf',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
'mdb' => 'application/x-msaccess',
'wri' => 'application/x-mswrite',
);
?>

php生成excel文档
<div class="codetitle"><a style="CURSOR: pointer" data="108" class="copybut" id="copybut108" onclick="doCopy('code108')"> 代码如下:<div class="codebody" id="code108">
<?
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
//改动相应文件头就可以输出.doc .xls等文件格式了
?>

时间比较问题
举一个简单例子说明:比如一个论坛对当天发表的贴子用new图片标记一下。
方法一:
<div class="codetitle"><a style="CURSOR: pointer" data="99445" class="copybut" id="copybut99445" onclick="doCopy('code99445')"> 代码如下:<div class="codebody" id="code99445">
<?
//$db->rows[$i][date]中为数据库中datetime字段值.
$today=time();
$theDay=date("Y-m-d H:i:s",$today-243600);
$newTag=$db->rows[$i][date]>=$theDay?"":"";
//方法二:
$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"":"";
?>

<div class="codetitle"><a style="CURSOR: pointer" data="74878" class="copybut" id="copybut74878" onclick="doCopy('code74878')"> 代码如下:<div class="codebody" id="code74878">
//提取页面和浏览器提交的变量,作用相当于使PHP.INI开了全局变量
<?
@extract($_SERVER,EXTR_SKIP);
@extract($_SESSION,EXTR_SKIP);
@extract($_POST,EXTR_SKIP);
@extract($_FILES,EXTR_SKIP);
@extract($_GET,EXTR_SKIP);
@extract($_ENV,EXTR_SKIP);
?>

<div class="codetitle"><a style="CURSOR: pointer" data="48579" class="copybut" id="copybut48579" onclick="doCopy('code48579')"> 代码如下:<div class="codebody" id="code48579">
//读取文件函数
<?
function readfromfile($file_name) {
if (file_exists($file_name)) {
$filenum=fopen($file_name,"r");
flock($filenum,LOCK_EX);
$file_data=fread($filenum,filesize($file_name));
rewind($filenum);
fclose($filenum);
return $file_data;
}
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="918" class="copybut" id="copybut918" onclick="doCopy('code918')"> 代码如下:<div class="codebody" id="code918">
//写入文件函数
<?
function writetofile($file_name,$data,$method="w") {
$filenum=fopen($file_name,$method);
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="43902" class="copybut" id="copybut43902" onclick="doCopy('code43902')"> 代码如下:<div class="codebody" id="code43902">
//页面快速转向
<?
function turntopage($url="index.php",$info = "页面转向中...",$second=2){
print "nn页面转向中....n";
print "<meta http-equiv="refresh" content="$second;url=$url">n";
print "<style type="text/css">nnn";
print "nn";
print "<table width="100%" border="0" align="center">n";
print " <tr>n";
print " <td height="200"> </td>n";
print " </tr>n";
print " <tr>n";
print " <td align="center">n";
print " <table width="60%" border="0" cellpadding="8" bgcolor="#AA9FFF">n";
print " <tr>n";
print " <td height="30" align="center">页面转向提示信息</td>n";
print " </tr>n";
print " <tr>n";
print " <td align="center">$info</td>n";
print " </tr>n";
print " <tr>n";
print " <td align="center">n";
print " <a href="$url">如果你的浏览器不支持自动跳转,请按这里</td>n";
print " </tr>n";
print " </tr>n";
print " </table></td>n";
print " </tr>n";
print " <tr>n";
print " <td height="200"> </td>n";
print " </tr>n";
print "</table>n";
print "n";
exit;
?>

产生随机字符串函数
<div class="codetitle"><a style="CURSOR: pointer" data="68064" class="copybut" id="copybut68064" onclick="doCopy('code68064')"> 代码如下:<div class="codebody" id="code68064">
<?
function random($length) {
$hash = @#@#;
$chars = @#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#;
$max = strlen($chars) - 1;
mt_srand((double)microtime()
1000000);
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0,$max)];
}
return $hash;
}
?>

截取一定长度的字符串(该函数对GB2312使用有效)
<div class="codetitle"><a style="CURSOR: pointer" data="95577" class="copybut" id="copybut95577" onclick="doCopy('code95577')"> 代码如下:<div class="codebody" id="code95577">
<?
function Wordscut($string,$length,$sss=0) {
if(strlen($string) > $length) {
if($sss){
$length=$length - 3;
$addstr=@# ...@#;
}
for($i = 0; $i < $length; $i++) {
if(ord($string[$i]) > 127) {
$wordscut .= $string[$i].$string[$i + 1];
$i++;
} else {
$wordscut .= $string[$i];
}
}
return $wordscut.$addstr;
}
return $string;
}
?>

取得客户端IP地址
<div class="codetitle"><a style="CURSOR: pointer" data="59924" class="copybut" id="copybut59924" onclick="doCopy('code59924')"> 代码如下:<div class="codebody" id="code59924">
<?
function GetIP(){
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"),"unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER[@#REMOTE_ADDR@#]) && $_SERVER[@#REMOTE_ADDR@#] && strcasecmp($_SERVER[@#REMOTE_ADDR@#],"unknown"))
$ip = $_SERVER[@#REMOTEADDR@#];
else
$ip = "unknown";
return($ip);
}
?>

判断邮箱地址
<div class="codetitle"><a style="CURSOR: pointer" data="93441" class="copybut" id="copybut93441" onclick="doCopy('code93441')"> 代码如下:<div class="codebody" id="code93441">
<?
function checkEmail($inAddress)
{
return (ereg("^([a-zA-Z0-9
-])+@([a-zA-Z0-9-])+(.[a-zA-Z0-9-])+",$inAddress));
}
?>

分页(两个函数配合使用)
<div class="codetitle"><a style="CURSOR: pointer" data="66333" class="copybut" id="copybut66333" onclick="doCopy('code66333')"> 代码如下:<div class="codebody" id="code66333">
<?
function getpage($sql,$page_size=20)
{
global $page,$totalpage,$sums; //out param
$page = $_GET["page"];
//$eachpage = $page_size;
$pagesql = strstr($sql," from ");
$pagesql = "select count() as ids ".$pagesql;
$result = mysql_query($pagesql);
if($rs = mysql_fetch_array($result)) $sums = $rs[0];
$totalpage = ceil($sums/$page_size);
if((!$page)($page<1)) $page=1;
$startpos = ($page-1)
$page_size;
$sql .=" limit $startpos,$page_size ";
return $sql;
}
function showbar($string="")
{
global $page,$totalpage;
$out="共<font ".$totalpage."color=@#red@#>".$totalpage."页 ";
$linkNum =4;
$start = ($page-round($linkNum/2))>0 ? ($page-round($linkNum/2)) : "1";
$end = ($page+round($linkNum/2))<$totalpage ? ($page+round($linkNum/2)) : $totalpage;
$prestart=$start-1;
$nextend=$end+1;
if($page<>1)
$out .= "<a href=@#?page=1&&".$string."@#title=第一页>第一页 ";
if($start>1)
$out.="<a href=@#?page=".$prestart."@# title=上一页>..<< ";
for($t=$start;$t<=$end;$t++)
{
$out .= ($page==$t) ? "<font [".$t."]color=@#red@#>[".$t."] " : "<a $thref=@#?page=$t&&".$string."@#>$t ";
}
if($end<$totalpage)
$out.="<a href=@#?page=".$nextend."&&".$string."@# title=下一页>>>..";
if($page<>$totalpage)
$out .= " <a href=@#?page=".$totalpage."&&".$string."@# title=最后页>最后页";
return $out;
}
?>

获取新插入数据的ID
<div class="codetitle"><a style="CURSOR: pointer" data="74214" class="copybut" id="copybut74214" onclick="doCopy('code74214')"> 代码如下:<div class="codebody" id="code74214">
<?
mysql_insert_id();
?>

<div class="codetitle"><a style="CURSOR: pointer" data="24012" class="copybut" id="copybut24012" onclick="doCopy('code24012')"> 代码如下:<div class="codebody" id="code24012">
//获得当前的脚本网址
<?
function get_php_url(){
if(!empty($_server["REQUEST_URI"])){
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}else{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
return $nowurl;
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="1177" class="copybut" id="copybut1177" onclick="doCopy('code1177')"> 代码如下:<div class="codebody" id="code1177">
//把全角数字转为半角数字
<?
function GetAlabNum($fnum){
$nums = array("0","1","2","3","4","5","6","7","8","9");
$fnums = "0123456789";
for($i=0;$i<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum);
$fnum = ereg_replace("[^0-9.]|^0{1,}","",$fnum);
if($fnum=="") $fnum=0;
return $fnum;
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="96240" class="copybut" id="copybut96240" onclick="doCopy('code96240')"> 代码如下:<div class="codebody" id="code96240">
//去除HTML标记
<?
function Text2Html($txt){
$txt = str_replace(" "," ",$txt);
$txt = str_replace("<","<",$txt);
$txt = str_replace(">",">",$txt);
$txt = preg_replace("/[rn]{1,}/isU","
rn",$txt);
return $txt;
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="84491" class="copybut" id="copybut84491" onclick="doCopy('code84491')"> 代码如下:<div class="codebody" id="code84491">
//相对路径转化成绝对路径
<?
function relative_to_absolute($content,$feed_url) {
preg_match('/(http|https|ftp):///',$feed_url,$protocol);
$server_url = preg_replace("/(http|https|ftp|news):///",$feed_url);
$server_url = preg_replace("//./",$server_url);
if ($server_url == '') {
return $content;
}
if (isset($protocol[0])) {
$new_content = preg_replace('/href="//','href="'.$protocol[0].$server_url.'/',$content);
$new_content = preg_replace('/src="//','src="'.$protocol[0].$server_url.'/',$new_content);
} else {
$new_content = $content;
}
return $new_content;
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="19739" class="copybut" id="copybut19739" onclick="doCopy('code19739')"> 代码如下:<div class="codebody" id="code19739">
//取得所有链接
<?
function get_all_url($code){
preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s
[^>]>([^>]+)/i',$code,$arr);
return array('name'=>$arr[2],'url'=>$arr[1]);
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="13994" class="copybut" id="copybut13994" onclick="doCopy('code13994')"> 代码如下:<div class="codebody" id="code13994">
//HTML表格的每行转为CSV格式数组
<?
function get_tr_array($table) {
$table = preg_replace("'<td[^>]
?>'si",'"',$table);
$table = str_replace("</td>",'",',$table);
$table = str_replace("</tr>","{tr}",$table);
//去掉 HTML 标记
$table = preg_replace("'<[/!]?[^<>]?>'si",$table);
//去掉空白字符
$table = preg_replace("'([rn])[s]+'",$table);
$table = str_replace(" ",$table);
$table = explode(",{tr}",$table);
array_pop($table);
return $table;
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="57788" class="copybut" id="copybut57788" onclick="doCopy('code57788')"> 代码如下:<div class="codebody" id="code57788">
//将HTML表格的每行每列转为数组,采集表格数据
<?
function get_td_array($table) {
$table = preg_replace("'<table[^>]?>'si",$table);
$table = preg_replace("'<tr[^>]
?>'si",$table);
$table = preg_replace("'<td[^>]*?>'si","{td}",$table);
$table = explode('{tr}',$table);
array_pop($table);
foreach ($table as $key=>$tr) {
$td = explode('{td}',$tr);
array_pop($td);
$td_array[] = $td;
}
return $td_array;
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="99849" class="copybut" id="copybut99849" onclick="doCopy('code99849')"> 代码如下:<div class="codebody" id="code99849">
//返回字符串中的所有单词 $distinct=true 去除重复
<?
function split_en_str($str,$distinct=true) {
preg_match_all('/([a-zA-Z]+)/',$str,$match);
if ($distinct == true) {
$match[1] = array_unique($match[1]);
}
sort($match[1]);
return $match[1];
}
?>

<div class="codetitle"><a style="CURSOR: pointer" data="47106" class="copybut" id="copybut47106" onclick="doCopy('code47106')"> 代码如下:<div class="codebody" id="code47106">
//打印出为本PHP项目做出贡献的人员的清单
<?
string phpcredits(void)
?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


极简概括: PHP 的开源内存缓存扩展,类比Redis,但是一般都用Redis,所以APCu用的很少。官方文档:https://www.php.net/manual/zh/apcu.configuration.php解决问题:类比Redis做缓存组件,提升性能,同步数据使用。
请看如下代码: $list = [1,2,4,5]; $list2 = [5,6,7,9]; foreach ($list as $key =&gt; &amp;$value) { $value = strval($value); } foreach ($list2 as $key =&gt; $v
一、nginx 安装 1. 在nginx官网下载nginx源码&#x9;提供一个nginx官网下载地址: http://nginx.org/download/nginx-1.12.2.tar.gz 注意:请先确认 是否已经安装过 pcre pcre-devel openssl openssl-devel z
先看图 数据条数:9000+ 第1,2行,golangʾxcelize方式导出,耗时:5s 第3行,PHP+xlswriter方式导出,耗时:2min 一、介绍 xlswriter是一个高效处理excel文件的PHP扩展,底层以C语言实现;处理速度是PHPExcel几十倍甚至几百倍的效率。 官方链
今天使用Thinkphp5做异步任务传递where参数时遇到一个问题: 有一段如下代码: $where[&#39;jst.supplier&#39;] = [&#39;exp&#39;, Db::raw(&#39;&gt;0 or jst.is_supplier=1&#39;)]; 在使用swool
汇总 PHP5.1: autoload PDO MySQLi 类型约束 PHP5.2: JSON 支持 PHP5.3: 命名空间 匿名函数 闭包 新增魔术方法__callStatic()和__invoke() 新增魔术变量__DIR__ 动态调用静态方法 延迟静态绑定 Heredoc和 Nowdoc
文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Online Tours & Travels Management System pay.php sql injectionLine 16 of pay.php invokes a SQL query built using unvalidated input. This call could allow an attacker to modify the statement’s meaning or to execute arbitrary SQL commands.SQL
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在windwos系统搭建typecho博客+cpolar内网穿透工具将博客发布到公共网络环境,实现远程也可以访问和操作。_windows搭建typecho
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代语法,让php更加的优雅的与html生活在一起 -->请放心, 最终生成的,或者说用户最终看到的,仍然是一个html文档, php代码中的内容不会被泄漏的。-- 将php与html代码混编的时候,大括号很容易造成配对错误,最好杜绝它 -->php标签内部代码由php.exe解释, php标签之外的代码原样输出,仍由web服务器解析。-- 所以php的流程控制语句, 都提供了替代语法,用冒号代替大括号 -->php echo '百变鹏仔'?_利用php将静态页面修改为动态页面
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔记博文内容涉及 Linux network namespace 认知以及彼此通信Demo,实际中的应用理解不足小伙伴帮忙指正不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树。_linux network namespace 多端通信 模式认知
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了一个逻辑二层(L2)网络,该网络封装在跨 Kubernetes 集群节点的现有三层(L3)网络拓扑上。使用此模型,可以为容器提供一个隔离的 L2 网络,而无需分发路由。封装网络带来了少量的处理开销以及由于覆盖封装生成 IP header 造成的 IP 包大小增加。封装信息由 Kubernetes worker 之间的 UDP 端口分发,交换如何访问 MAC 地址的网络控制平面信息。此类网络模型中常用的封装是 VXLAN、Internet 协议安全性 (IPSec) 和 IP-in-IP。_k8s网络组件对比
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安全时,我们正在讨论的是保护我们的在线空间,这是我们所有人的共享责任。网络安全涉及保护我们的信息,防止被未经授权的人访问、披露、破坏或修改。
文章浏览阅读1.3w次,点赞3次,收藏7次。尽管您可以通过 ping 命令解析出网站的 IP 地址,但是可能在浏览器中访问时仍然遇到问题,这可能是因为浏览器使用的 DNS 解析结果不同于 ping 命令使用的解析结果。可能是因为您的网络或设备上设置了防火墙,阻止了对特定网站的访问。有些国家或组织可能会对特定的域名进行屏蔽,从而阻止访问相关网站。如果您的网络使用代理服务器进行访问控制,可能会由于代理服务器的配置问题导致无法访问某些网站。即使您的网络和设备一切正常,目标网站本身可能也存在问题,例如服务器故障、维护或过载,导致无法访问。_能ping通打不开网页
文章浏览阅读839次,点赞22次,收藏19次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。
文章浏览阅读2.1k次,点赞31次,收藏22次。基于微信小程序奶茶点餐外卖系统设计与实现(PHP后台+Mysql)可行性分析毕设源代码毕业设计,数据安全和系统稳定性以及团队能力和资源配备方面都具备较好的条件。因此,该项目的可行性较高。:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;微信小程序作为一种快捷、方便的移动应用形式,成为很多用户点餐外卖的首选。项目的界面和功能都可以定制,包安装运行!项目配有对应开发文档、开题报告、任务书、PPT、论文模版等。
文章浏览阅读1.8k次,点赞52次,收藏38次。本文主要通过对系统的前台系统和后台管理系统进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。Lucky+Baby母婴用品网站使用 Dreamweaver、HBuilder代码编辑器、Apache服务器等开发工具,完成了系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、商品搜索功能、生成订单和查看我的订单功能、在线付款功能功能的实现过程。
文章浏览阅读1.5k次,点赞45次,收藏40次。本设计主要实现集人性化、高效率、便捷等优点于一身的人事信息管理系统,完成首页、系统用户、通知公告、部门信息、员工薪资、考勤签到、员工请假、招聘信息、应聘信息等功能模块。
文章浏览阅读1k次。该错误通常出现在数据库读取结果集数据时,比如当我们写好SQL语句从数据库读取数据时,本身应该返回结果集,再给结果集中读取数据。解决思路:这种错误一般是因为echo后面输出了一个数组导致的,或者是数组作为字符串进行拼接运算时导致的。该错误直译为:警告:mysqli_fetch_assoc函数期望参数1是mysqli的结果集,但是给了一个布尔值。这种错误是PHP解析器在解析时遇到了语法错误,直译为:解析错误:语法错误,意料之外的...该错误直译为:提示:未定义的索引:username。_array to string conversion in
文章浏览阅读2.7w次。解决http请求报错context deadline exceeded (Client.Timeout exceeded while awaiting headers)_context deadline exceeded (client.timeout exceeded while awaiting headers)
文章浏览阅读1.3k次,点赞26次,收藏24次。复杂网络是一种由大量相互连接的元素(节点或顶点)组成的网络结构,这些连接通常是非常复杂和动态的。这些网络可以在各种领域中发现,包括社交网络、生物学系统、信息技术和交通系统等。_代理建模