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;

}

?>

function DateAdd($date, $int, $unit = "d") { //时间的增加(还可以改进成时分秒都可以增加,有时间再补上)

$dateArr = explode("-", $date);

$value[$unit] = $int;

return date("Y-m-d", mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y']));

}

function GetWeekDay($date) { //计算出给出的日期是星期几

$dateArr = explode("-", $date);

return date("w", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));

}

?>

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[2],$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;

}

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重定向

方法一:header("Location: index.php");

方法二:echo "window.location ="$PHP_SELF";";

方法三:echo "";

?>

获取访问者浏览器

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))

{

$temp =explode("(", $Agent); $Part=$temp[1];

$temp =explode(")", $Part); $browserver=$temp[1];

$temp =explode(" ",$browserver);$browserver=$temp[2];

$browserver =preg_replace("/([d.]+)/","1",$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.]+)/","1",$browserver);

$browserver = " $browserver";

$browser = "Internet Explorer";

}

if ($browser!="")

{

$browseinfo = "$browser$browserver";

}

else

{

$browseinfo = "Unknown";

}

return $browseinfo;

}

//调用方法$browser=browseinfo() ;直接返回结果

?>

获取访问者操作系统

function osinfo() {

$os="";

$Agent = $GLOBALS["HTTP_USER_AGENT"];

if (eregi('win',$Agent) && strpos($Agent, '95')) {

$os="Windows 95";

}

elseif (eregi('win 9x',$Agent) && strpos($Agent, '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) && eregi('os',$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() ;

?>

文件格式类

$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',

'tif' => 'image/tiff',

'tiff' => 'image/tiff',

'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文档

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图片标记一下。

方法一:

//$db->rows[$i][date]中为数据库中datetime字段值.

$today=time();

$theDay=date("Y-m-d H:i:s",$today-24*3600);

$newTag=$db->rows[$i][date]>=$theDay?"":"";

//方法二:

$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"":"";

?>

//提取页面和浏览器提交的变量,作用相当于使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);

?>

//读取文件函数

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;

}

}

?>

//写入文件函数

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;

}

?>

movcms php,继续收藏一些PHP常用函数第1/2页相关推荐

  1. PHP副本保存用什么函数,PHP_收藏的PHP常用函数 推荐收藏保存,内容: 复制代码 代码如下: lt - phpStudy...

    收藏的PHP常用函数 推荐收藏保存 内容: 复制代码 代码如下: function GetIP() { //获取IP if ($_SERVER["HTTP_X_FORWARDED_FOR&q ...

  2. php mid函数的用法,继续收藏一些PHP常用函数

    function GetIP() { //获取IP if ($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_ ...

  3. 纯干货!77个Python常用函数汇总,赶紧收藏!

    Python常用函数: 1. print()函数:打印字符串 2. raw_input()函数:从用户键盘捕获字符 3. len()函数:计算字符长度 4. format(12.3654,'6.2f' ...

  4. (Excel)常用函数公式及操作技巧之四:文本与页面设置(二)

    (Excel)常用函数公式及操作技巧之四:文本与页面设置(二) (Excel)常用函数公式及操作技巧之四: 文本与页面设置(二) --通过知识共享树立个人品牌. Excel打印中如何不显示错误值符号 ...

  5. (Excel)常用函数公式及操作技巧之四:文本与页面设置(一)

    (Excel)常用函数公式及操作技巧之四:文本与页面设置(一) (Excel)常用函数公式及操作技巧之四: 文本与页面设置(一) --通过知识共享树立个人品牌. EXCEL中如何删除*号 在录入帐号是 ...

  6. 干货|219个opencv常用函数汇总

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨AmosLLc 来源丨新机器视觉      作者为CSDN博主「AmosLLc」 原文链接:https: ...

  7. Python中处理字符串的常用函数汇总【文末送书】

    正式的Python专栏第23篇,同学站住,别错过这个从0开始的文章! 今天我们说了字符串的基础,格式化,这次我们讲解字符串的常用函数,不要错过! (文本送书,评论区抽取一位送书) 前两篇都在本文同个专 ...

  8. VC API常用函数简单例子大全(1-89)

    第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCST ...

  9. mysql 常用函数

    欢迎z1988316我的:空间博客网摘资源设置|帮助|退出 CSDN首页 资讯 论坛 博客 下载 搜索 更多CTO俱乐部 学生大本营 培训充电 移动开发 软件研发 云计算 程序员 TUP the bl ...

最新文章

  1. jquery图片幻灯片(小图列表,大图展示)
  2. 【CyberSecurityLearning 77】DC系列之DC-8渗透测试(Drupal)
  3. 反调试检测之一TracerPid
  4. Sequence in the Pocket
  5. 『设计模式』 又谈麦当劳的食品--组合模式(Composite)
  6. JavaFX UI控件教程(二十七)之File Chooser
  7. java的内存模型--jmm
  8. 【2018icpc宁夏邀请赛现场赛】【Gym - 102222F】Moving On(Floyd变形,思维,离线处理)
  9. 【技术文档】JEECG整合JXLS步骤与开发
  10. vSAN其实很简单-vSAN禁得起折腾的吗?
  11. Struts 配置文件
  12. redis 的 key 设计原则
  13. cocos creator 文字描边效果
  14. @Scope作用域代理的应用:@RefreshScope注解实现动态刷新配置的底层原理与实现
  15. dump文件 linux,Linux下快速分析DUMP文件
  16. 【stm32开发日志】步进电机、直线模组、丝杆的接线、编程与使用
  17. Chromium OS Autotest 客户端测试
  18. ADM pro破解百度云限速 ADM pro设置方法 ES文件管理器
  19. 搜狗输入法取消软键盘
  20. 第三章 培养工作兴趣

热门文章

  1. 什么是负载均衡–SLB
  2. 玩转ECharts制作图表之散点图
  3. windows下bat脚本中for的用法
  4. 触及软件架构(个人随笔)
  5. 在网上摘的几个值得关注的java开源项目
  6. 计算机组成原理——第三章存储系统(上)
  7. js循环nodelist_JS循环Nodelist Dom列表的4种方式
  8. 大一新生备战2020蓝桥杯
  9. Web 和 Web标准
  10. android 6.0 权限程序崩溃,扫二维码崩溃与按键事件