广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    function.inc.php超越php

    2018-10-07 10:22:39 次阅读 稿源:互联网
    零七广告
    <?php
    /**
     * Global Function
     *
     * @author   Avenger <avenger@php.net>
     * @version 1.14 $Id 2003-05-30 10:10:08 $
     */
    /**
     * 弹出提示框
     *
     * @access public
     * @param string $txt 弹出一个提示框,$txt为要弹出的内容
     * @return void
     */
    function popbox($txt) {
        echo "<script language='JavaScript'>alert('".$txt."')</script>";
    }
    /**
     * 非法操作警告
     *
     * @access public
     * @param string $C_alert   提示的错误信息
     * @param string $I_goback  返回后返回到哪一页,不指定则不返回
     * @return void
     */
    function alert($C_alert,$I_goback='main.php') {
        if(!empty($I_goback)) {
            echo "<script>alert('$C_alert');window.location.href='$I_goback';</script>";
        } else {
            echo "<script>alert('$C_alert');</script>";
        }
    }
    /**
     * 产生随机字符串
     *
     * 产生一个指定长度的随机字符串,并返回给用户
     *
     * @access public
     * @param int $len  产生字符串的位数
     * @return string 
     */
    function randstr($len=6) {
        $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~'; // characters to build the password from
        mt_srand((double)microtime()*1000000*getmypid()); // seed the random number generater (must be done)
        $password='';
        while(strlen($password)<$len)
            $password.=substr($chars,(mt_rand()%strlen($chars)),1);
        return $password;
    }
    /**
     * 判断下拉菜音的选取项
     *
     * 可以判断字符串一和字符串二是否相等.从而使相等的项目在下拉菜单中被选择
     *
     * @access public
     * @param string $str1  要比较的字符串一
     * @param string $str2  要比较的字符串二
     * @return string       相等返回字符串"selected",否则返回空字符串
     */
    function ckselect($str1,$str2) {
        if($str1==$str2) {
            return ' selected';
        }
        return '';
    }
    /**
     * 一个自定义的Ftp函数
     *
     * @access private
     * @return void
     */
    function myftp($ftp_server,$ftp_port,$ftp_username,$ftp_password,$ftp_path='/') {
        $ftpid=@ftp_connect($ftp_server,$ftp_port) or die('Connect To Ftp Server Error!');
        @ftp_login($ftpid,$ftp_username,$ftp_password) or die('Login Ftp Error!');
        @ftp_chdir($ftpid,'/'.$ftp_path) or die('Chdir Error!');
        return $ftpid;
    }
    /**
     * 截取中文部分字符串
     *
     * 截取指定字符串指定长度的函数,该函数可自动判定中英文,不会出现乱码
     *
     * @access public
     * @param string    $str    要处理的字符串
     * @param int       $strlen 要截取的长度默认为10
     * @param string    $other  是否要加上省略号,默认会加上
     * @return string
     */
    function showtitle($str,$strlen=10,$other=true) {
        $j = 0;
        for($i=0;$i<$strlen;$i++)
          if(ord(substr($str,$i,1))>0xa0) $j++;
        if($j%2!=0) $strlen++;
        $rstr=substr($str,0,$strlen);
        if (strlen($str)>$strlen && $other) {$rstr.='...';}
        return $rstr;
    }
    /**
     * 制作链接
     *
     * @access public
     * @param string    url         要链接到的网址
     * @param string    linktext    显示的链接文字
     * @param string    target      目标框架
     * @param string    extras      扩展参数
     * @return string
     */
    function make_link ($url, $linktext=false, $target=false, $extras=false) {
        return sprintf("<a href=/"%s/"%s%s>%s</a>",
            $url,
            ($target ? ' target="'.$target.'"' : ''),
            ($extras ? ' '.$extras : ''),
            ($linktext ? $linktext : $url)
        );
    }
    /**
     * 格式化用户评论
     *
     * @access public
     * @param string
     * @return void
     */
    function clean_note($text) {
        $text = htmlspecialchars(trim($text));
        /* turn urls into links */
        $text = preg_replace("/((mailto|http|ftp|nntp|news):.+?)(>|/s|/)|/"|/./s|$)/","<a href=/"/1/">/1</a>/3",$text);
        /* this 'fixing' code will go away eventually. */
        $fixes = array('<br>', '<p>', '</p>');
        reset($fixes);
        while (list(,$f) = each($fixes)) {
            $text = str_replace(htmlspecialchars($f), $f, $text);
            $text = str_replace(htmlspecialchars(strtoupper($f)), $f, $text);
        }
        /* <p> tags make things look awfully weird (breaks things out of the <code>
           tag). Just convert them to <br>'s
        */
        $text = str_replace (array ('<P>', '<p>'), '<br>', $text);
        /* Remove </p> tags to prevent it from showing up in the note */
        $text = str_replace (array ('</P>', '</p>'), '', $text);
        /* preserve linebreaks */
        $text = str_replace("/n", "<br>", $text);
        /* this will only break long lines */
        if (function_exists("wordwrap")) {
            $text = wordwrap($text);
        }
        // Preserve spacing of user notes
        $text = str_replace("  ", "  ", $text);
        return $text;
    }
    /**
     * 获取图象信息的函数
     *
     * 一个全面获取图象信息的函数
     *
     * @access public
     * @param string $img 图片路径
     * @return array
     */
    function getimageinfo($img) {
        $img_info = getimagesize($img);
        switch ($img_info[2]) {
        case 1:
        $imgtype = "GIF";
        break;
        case 2:
        $imgtype = "JPG";
        break;
        case 3:
        $imgtype = "PNG";
        break;
        }
        $img_size = ceil(filesize($img)/1000)."k";
        $new_img_info = array (
            "width"=>$img_info[0],
            "height"=>$img_info[1],
            "type"=>$imgtype,
            "size"=>$img_size
        );
        return $new_img_info;
    }
    /**
     * 计算当前时间
     *
     * 以微秒为单位返回当前系统的时间
     *
     * @access public
     * @return real
     */
    function getmicrotime() {
        $tmp = explode(' ', microtime());
        return (real)$tmp[1]. substr($tmp[0], 1);
    }
    /**
     * 写文件操作
     *
     * @access public
     * @param bool
     * @return void
     */
    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;
    }
    /**
     * 加载模板文件
     *
     * @access public
     * @return void
     */
    function tpl_load($tplfile,$path='./templates/',$empty='remove') {
        global $tpl;
        $path ? '' : $path='./templates/'; 
        require_once 'HTML/Template/PHPLIB.php';
        $tpl = new Template_PHPLIB($path,$empty);
        $tpl->setFile('main',$tplfile);
    }
    /**
     * 模板解析输出
     *
     * @access public
     * @return void
     */
    function tpl_output() {
        global $tpl;
        $tpl->parse('output','main');
        $tpl->p('output');
    }
    /**
     * 邮件发送函数
     *
     * @access public private
     * @param bool
     * @return void
     */
    function mailSender($from, $to, $title, $content) {
        $from ? $from = 'sender@phpe.net' : '';
        $title ? $title = 'From Exceed PHP...' : '';
        $sig = "
          感谢您使用我们的服务./n/n
                                                    Exceed PHP(超越PHP)/n
                                                    $maildate/n/n
    ---------------------------------------------------------------------------------------
    /n/n
    去发现极限方法的唯一办法就是去超越它/n
    超越PHP欢迎您(http://www.phpe.net)/n
    ";
        $content .= $sig;
        if (@mail($to, $title, $content, "From:$from/nReply-To:$from")) {
            return true;
        } else {
            return false;
        }
    }
    function br2none($str) {
        return str_replace(array('<br>', '<br />'), "", $str);
    }
    /**
     * UBB解析
     *
     * @param      none
     * @access     public
     * @return     void
    */
    function ubbParse($txt, $coverhtml=0) {
        if ($coverhtml == 0) $txt = nl2br(new_htmlspecialchars($txt));  //BR和HTML转换
        //只转换BR,不转换HTML
        if ($coverhtml == 1) {
            if (!preg_match('/</s*(p|br)/s*>/is', $txt) && !preg_match('/<table.+<//table>/is', $txt)) {
                $txt = strip_tags($txt);
                $txt = nl2br($txt);
            } else {
                $txt = str_replace('<?', '<?', $txt);
            }
        }
        // pre and quote
        //error_reporting(E_ALL);
        $txt = preg_replace( "#/[quote/](.+?)/[/quote/]#is", "<blockquote>/1</blockquote>", $txt );
        $txt = preg_replace( "#/[code/](.+?)/[/code/]#ise", "'<pre class=php>'.br2none('').'</pre>'", $txt );
        // Colors 支持套
        while( preg_match( "#/[color=([^/]]+)/](.+?)/[/color/]#is", $txt ) ) {
            $txt = preg_replace( "#/[color=([^/]]+)/](.+?)/[/color/]#is", "<span style='color:/1'>/2</span>", $txt );
        }
        // Align
        $txt = preg_replace( "#/[center/](.+?)/[/center/]#is", "<center>/1</center>", $txt );
        $txt = preg_replace( "#/[left/](.+?)/[/left/]#is", "<div align=left>/1</div>", $txt );
        $txt = preg_replace( "#/[right/](.+?)/[/right/]#is", "<div align=right>/1</div>", $txt );
        // Sub & sup
        $txt = preg_replace( "#/[sup/](.+?)/[/sup/]#is", "<sup>/1</sup>", $txt );
        $txt = preg_replace( "#/[sub/](.+?)/[/sub/]#is", "<sub>/1</sub>", $txt );
        // email tags
        // [email]avenger@php.net[/email]   [email=avenger@php.net]Email me[/email]
        $txt = preg_replace( "#/[email/](/S+?)/[/email/]#i"                                                                , "<a href='mailto:/1'>/1</a>", $txt );
        $txt = preg_replace( "#/[email/s*=/s*/"/;([/./w/-]+/@[/./w/-]+/.[/./w/-]+)/s*/"/;/s*/](.*?)/[//email/]#i"  , "<a href='mailto:/1'>/2</a>", $txt );
        $txt = preg_replace( "#/[email/s*=/s*([/./w/-]+/@[/./w/-]+/.[/w/-]+)/s*/](.*?)/[//email/]#i"                       , "<a href='mailto:/1'>/2</a>", $txt );
        // url tags
        // [url]http://www.phpe.net[/url]   [url=http://www.phpe.net]Exceed PHP![/url]
        $txt = preg_replace( "#/[url/](/S+?)/[/url/]#i"                                       , "<a href='/1' target='_blank'>/1</a>", $txt );
        $txt = preg_replace( "#/[url/s*=/s*/"/;/s*(/S+?)/s*/"/;/s*/](.*?)/[//url/]#i" , "<a href='/1' target='_blank'>/2</a>", $txt );
        $txt = preg_replace( "#/[url/s*=/s*(/S+?)/s*/](.*?)/[//url/]#i"                       , "<a href='/1' target='_blank'>/2</a>", $txt );
        // Start off with the easy stuff
        $txt = preg_replace( "#/[b/](.+?)/[/b/]#is", "<b>/1</b>", $txt );
        $txt = preg_replace( "#/[i/](.+?)/[/i/]#is", "<i>/1</i>", $txt );
        $txt = preg_replace( "#/[u/](.+?)/[/u/]#is", "<u>/1</u>", $txt );
        $txt = preg_replace( "#/[s/](.+?)/[/s/]#is", "<s>/1</s>", $txt );
        // Header text
        $txt = preg_replace( "#/[h([1-6])/](.+?)/[/h[1-6]/]#is", "<h/1>/2</h/1>", $txt );
        // Images
        $txt = preg_replace( "#/[img/](.+?)/[/img/]#i", "<a href='/1' target='_blank'><img alt='Click to fullsize' src='/1' border='0' onload='javascript:if(this.width>500) this.width=500' align='center' hspace='10' vspace='10'></a><br />", $txt );
        // Attach
        $txt = preg_replace( "#/[attach/s*=/s*/"/;/s*(/S+?)/s*/"/;/s*/](.*?)/[//attach/]#i" , "<a href='/2' target='_blank'><b>相关附件:</b>/1</a>", $txt );
        $txt = preg_replace( "#/[attach/s*=/s*(/S+?)/s*/](.*?)/[//attach/]#i"                       , "<a href='/2' target='_blank'><b>相关附件:</b>/1</a>", $txt );
        // Iframe
        $txt = preg_replace( "#/[iframe/](.+?)/[/iframe/]#i", "<div align='center'><iframe src='/1' style='width:96%;height:400px'></iframe><br clear='all'><a href='/1' target='_blank'>在新窗口打开链接</a></div>", $txt );
        // (c) (r) and (tm)
        $txt = preg_replace( "#/(c/)#i"     , "©" , $txt );
        $txt = preg_replace( "#/(tm/)#i"    , "™" , $txt );
        $txt = preg_replace( "#/(r/)#i"     , "®"  , $txt );
        return $txt;
    }
    //重新格式化日期
    function format_date($date) {
        if (!preg_match('/^/d+$/', $date)) $date = strtotime(trim($date));
        $sec = time() - $date;
        //Sec 1 day is 86400
        if ($sec < 86400) {
            return round($sec/3600). ' hours ago';
        } elseif ($sec < (86400 * 7)) {
            return round($sec/86400). ' days ago';
        } elseif ($sec < (86400 * 7 * 4)) {
            return round($sec/(86400*7)). ' weeks ago';
        } else {
            return date('Y-m-d', $date);
        }
    }
    ?>

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告