程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP常用函數

PHP常用函數

編輯:關於PHP編程

    <?php
    function DateAdd($date, $int, $unit = "d") { 
    //時間的增加(還可以改進成時分秒都可以增加,有時間再補上)
        $dateArr = explode("-", $date
    );
        $value[$unit] = $int
    ; //OSPHP.COm.CN
        return date("Y-m-d", mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y'
    ])); //OSPHP.COm.CN
    }

    function GetWeekDay($date) {  
    //計算出給出的日期是星期幾
        $dateArr = explode("-", $date
    );
        return date("w", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0
    ])); }
    ?>
    <?
    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"
    ]; 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 check_date($date) { 
    //檢查日期是否合法日期
        $dateArr = explode("-", $date
    );
        if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2
    ])) { checkdate($dateArr[1],$dateArr[2],$dateArr[0]);
        }
        return false;
    }
    function check_time($time) {  //檢查時間是否合法時間 //開源OSPhP.COM.CN
        $timeArr = explode(":", $time);
        if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) { $timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($timeArr[2] >= 0 && $timeArr[2] <= 59)) //開源OSPhP.COM.CN
                return true;
            else
                return false;
        }
        return false;
    }

    function DateDiff($date1, $date2, $unit = "") { //時間比較函數,返回兩個日期相差幾秒、幾分鐘、幾小時或幾天 //開源代碼OSPhP.COm.CN
        switch ($unit) {
            case 's':
                $dividend = 1;
                break;
            case 'i':
                $dividend = 60;  
                break;
            case 'h':
                $dividend = 3600;
                break;
            case 'd':
                $dividend = 86400;
                break; //oSPHP.COM.CN
            default:
                $dividend = 86400;
        }
        $time1 = strtotime($date1);
        $time2 = strtotime($date2);
        if ($time1 && $time2) $time1 - $time2) / $dividend;
        return false;
    }

    ?>
    PHP重定向
    <?
    方法一:header("Location: index.php"
    );
    方法二:echo "<scrīpt>window.location ="$PHP_SELF";</scrīpt>"
    ; //PHP開源代碼
    方法三:echo "<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php">"
    ;

    ?>
    獲取訪問者浏覽器
    <?
    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++) //OsPHP.COM.CN
    {
    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"; //OSPHP.COM.Cn開源
    $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)) //OSPHP.COm.CN
    {
    $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() ;直接返回結果

    ?> //oSPHP.COM獲取訪問者操作系統
    <?
    function osinfo
    () {
    $os=""
    ;
    $Agent = $GLOBALS["HTTP_USER_AGENT"
    ];
    if (eregi('win',$Agent) && strpos($Agent, '95'
    )) { //PHP開源代碼
    $os="Windows 95"
    ;
    }
    elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90'
    )) {
    $os="Windows ME"
    ;
    }
    elseif (eregi('win',$Agent) && ereg('98',$Agent
    )) { //OSPHP.COm.CN
    $os="Windows 98"
    ;
    }
    elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent
    )) {
    $os="Windows 2000"
    ;
    }
    elseif (eregi('win',$Agent) && eregi('nt',$Agent
    )) { //開源代碼OSPHP.COM.Cn
    $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"; 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"; //PHP開源代碼
    }
    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"; $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', //開源代碼OSPHP.COM.Cn

    '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', //PHP開源代碼
    'ltx' => 'application/x-latex',
    'tcl' => 'application/x-tcl',

    'pgp' => 'application/pgp',
    'asc' => 'application/pgp',
    'exe' => 'application/x-msdownload',
    'doc' => 'application/msword', //OSPHP.com.CN
    'rtf' => 'application/rtf',
    'xls' => 'application/vnd.ms-excel',
    'ppt' => 'application/vnd.ms-powerpoint',
    'mdb' => 'application/x-msaccess',
    'wri' => 'application/x-mswrite',
    );

    ?>

     


        else if (

     


            return 

     


            if ((

     


            return (float)(

    }
    elseif (
    }
    if (

    生成excel文檔
    <?
    header("Content-type:application/vnd.ms-excel"
    );
    header("Content-Disposition:filename=test.xls"
    );
    echo "test1t"
    ;
    echo "test2tn"
    ;
    echo "test1t"
    ;
    echo "test2tn"
    ;
    echo "test1t"
    ; "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?"<img src='../image/newinfor.gif'>":"";

     


    //方法二:
    $newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"<img src='../image/newinfor.gif'>":"";

    ?>
    //提取頁面和浏覽器提交的變量,作用相當於使PHP.INI開了全局變量

     


    <?
    @extract($_SERVER, EXTR_SKIP);
    @extract($_SESSION, EXTR_SKIP);
    @extract($_POST, EXTR_SKIP);
    @extract($_FILES, EXTR_SKIP); //OSPHP.COm.CN
    @extract($_GET, EXTR_SKIP);
    @extract($_ENV, EXTR_SKIP);

    ?>
    //寫入文件函數
    <?
    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;
    }

    ?>
    //頁面快速轉向
    <?
    function turntopage($url="index.php",$info = "頁面轉向中...",$second=2
    ){
    print "<html>n<head>n<title>頁面轉向中....</title>n"
    ;
    print "<meta http-equiv="refresh" content="$second;url=$url">n"
    ;

     


    print "<style type="text/css">n<!--n";
    print "td { font-family: "Verdana", "Arial";font-size: 12px}n";
    print "A {COLOR: #000000; TEXT-DECORATION: none}n";
    print "-->n</style>n";
    print "</head>n<body>n";
    print "<table width="100%" border="0" align="center">n"; //PHP開源代碼
    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";

    //PHP開源代碼


    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"; //開源OSPhP.COM.CN
    print " <td align="center">n";
    print " <a href="$url">如果你的浏覽器不支持自動跳轉,請按這裡</a></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 "</body>n</html>";
    exit;
    ?>

    echo 

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved