首页 > php函数 > 一些使用频率比较高的php函数

一些使用频率比较高的php函数

在php开发中,我们经常会遇到一些函数,下面是整理好的,可以直接使用,方便开发效率,不过建议大家一定要先看懂,然后在这个基础上增加功能就提高了自身能力了

1.产生随机字符串函数

<?php
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;
}

2.截取一定长度的字符串注:该函数对gb2312使用有效

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;

}

3.取得客户端ip地址

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["remote_addr"];
    else $ip = "unknown";
    return ($ip);
}

4.创建相应的文件夹

function createdir($dir = @ //")
{
    if (!is_dir($dir)) {
        $temp = explode(@ ///",$dir);
        $cur_dir = "";
        for ($i = 0; $i < count($temp); $i++) {
            $cur_dir.= $temp[$i] . "";
            if (!is_dir($cur_dir)) {
                @mkdir($cur_dir, 0777);
            }
        }
    }
}

5.判断邮箱地址

function checkemail($inaddress) {
    return (ereg("^([a-za-z0-9_-])+@([a-za-z0-9_-])+(\.[a-za-z0-9_-])+", $inaddress));
}

6.跳转

function gotourl($message = "",$url="",$title="")
{
    $html = "<html><head>";
    if (!empty($url)) $html.= "<meta http-equiv=\"refresh\" content=\"3;url="" . $url . ""\">";
    $html.= "<link href=\"../templates/style.css\" type=\"text/css\" rel=\"stylesheet\">";
    $html.= "</head><body><br><br><br><br>";
    $html.= "<table cellspacing=\"0\" cellpadding=\"0\" border=\"1\" width=\"450\" align=\"center\">";
    $html.= "<tr><td bgcolor=\"#ffffff\">";
    $html.= "<table border=\"1\" cellspacing=\"1\" cellpadding=\"4\" width=\"100%\">";
    $html.= "<tr class=\"m_title\">";
    $html.= "<td>" . $title . "</td></tr>";
    $html.= "<tr class=\"line_1\"><td align=\"center\" height=\"60\">";
    $html.= "<br>" . $message . "<br><br>";
    if (!empty($url)) $html.= "系统将在3秒后返回<br>如果您的浏览器不能自动返回,请点击[<a href=" . $url . " target=_self>这里</a>]进入";
    else $html.= "[<a href=\"#\" =\"history.go(-1)\">返回</a>]";
    $html.= "</td></tr></table></td></tr></table>";
    $html.= "</body></html>";
    echo $html;
    exit;
}

7.分页(两个函数配合使用)

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\"><b>" . $totalpage . "</b></font>页 ";
    $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=第一页>第一页</a> ";
    if ($start > 1) $out.= "<a href=\"?page=" . $prestart . "\" title=上一页>..<<</a> ";
    for ($t = $start; $t <= $end; $t++) {
        $out.= ($page == $t) ? "<font [" . $t . "]color=\"red\"><b>[" . $t . "]</b></font> " : "<a $thref=\"?page=$t&" . $string . "\">$t</a> ";
    }
    if ($end < $totalpage) $out.= "<a href=\"?page=\" . $nextend . "&&" . $string . "" title=下一页>>>..</a>";
    if ($page <> $totalpage) $out.= " <a href=\"?page=\" . $totalpage . "&&" . $string . "" title=最后页>最后页</a>";
    return $out;
}
?>

8.获取新插入数据的id 

<?php
mysql_insert_id();
?>


本文地址:http://www.phprm.com/function/228c730d49f31925f6279d09853d5223.html

转载随意,但请附上文章地址:-)

标签:none

发表留言