文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>我常用的几个类

我常用的几个类

时间:2008-05-16  来源:剑心通明


我常用的几个类修改自hk的
PHP
[url=javascript:;]代码[/url]
:--------------------------------------------------------------------------------
/*
作用:取得随机字符串
参数:
    1、(int)$length = 32 #随机字符长度,默认为32
    2、(int)$mode = 0 #随机字符类型,0为大小写英文和数字,1为数字,2为小写子木,3为大写字母,4为大小写字母,5为大写字母和数字,6为小写字母和数字
返回:取得的字符串
使用:
    $code = new activeCodeObj;
    $str = $code->getCode($length, $mode);
*/
class activeCodeObj
{
    function getCode ($length = 32, $mode = 0)
    {
        switch ($mode) {
            case '1':
                $str = '1234567890';
            break;
            case '2':
                $str = 'abcdefghijklmnopqrstuvwxyz';
            break;
            case '3':
                $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
            break;
            case '4':
                $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
            break;
            case '5':
                $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
            break;
            case '6':
                $str = 'abcdefghijklmnopqrstuvwxyz1234567890';
            break;
            default:
                $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
            break;
        }
        $result = ';
        $l = strlen($str);
        for($i = 0;$i getBrowse();
    2、IP地址:$str = $code->getIP();
    4、
操作系统
:$str = $code->getOS();
*/
class clientGetObj
{
    function getBrowse()
    {
        global $_SERVER;
        $Agent = $_SERVER['HTTP_USER_AGENT'];
        $browser = ';
        $browserver = ';
        $Browser = array('Lynx', 'MOSAIC', 'AOL', 'Opera', 'JAVA', '
Mac
Web', 'WebExplorer', 'OmniWeb');
        for($i = 0; $i = 161 && ord($str[$i]) = 161 && ord($str[$i+1]) = $start && $i = 247) && ($tmpstr2 = 247)){
                $legalflag = false;
            } else {
                $legalflag = true;
            }
        }
        return $legalflag;
    }
}
PHP代码:--------------------------------------------------------------------------------
        **   pass    - Password for authentication            Default:
        **   timeout - The timeout in seconds for the call    Default: 5
        **             to fsockopen()
        ***************************************/
        function smtp($params = array()){
            if(!defined('CRLF'))
                define('CRLF', "\r\n", TRUE);
            
            $this->timeout    = 5;
            $this->status    = SMTP_STATUS_NOT_CONNECTED;
$this->host        = 'localhost';
            $this->port        = 25;
            $this->helo        = 'localhost';
            $this->auth        = FALSE;
            $this->user        = ';
            $this->pass        = ';
            $this->errors   = array();
            foreach($params as $key => $value){
                $this->$key = $value;
            }
        }
        /***************************************
        ** Connect function. This will, when called
        ** statically, create a new smtp object,
        ** call the connect function (ie this function)
        ** and return it. When not called statically,
        ** it will connect to the server and send
        ** the HELO command.
        ***************************************/
        function connect($params = array()){
            if(!isset($this->status)){
                $obj = new smtp($params);
                if($obj->connect()){
                    $obj->status = SMTP_STATUS_CONNECTED;
                }
                return $obj;
            }else{
                $this->connection = fsockopen($this->host, $this->port, $errno, $errstr, $this->timeout);
                socket_set_timeout($this->connection, 0, 250000);
                $greeting = $this->get_data();
                if(is_resource($this->connection)){
                    return $this->auth ? $this->ehlo() : $this->helo();
                }else{
$this->errors[] = 'Failed to connect to server: '.$errstr;
                    return FALSE;
                }
            }
        }
        /***************************************
        ** Function which handles sending the mail.
        ** Arguments:
        ** $params    - Optional assoc array of parameters.
        **            Can contain:
        **              recipients - Indexed array of recipients
        **              from       - The from address. (used in MAIL FROM,
        **                           this will be the return path
        **              headers    - Indexed array of headers, one header per array entry
        **              body       - The body of the email
        **            It can also contain any of the parameters from the connect()
        **            function
        ***************************************/
        function send($params = array()){
            foreach($params as $key => $value){
                $this->set($key, $value);
            }
            if($this->is_connected()){
                // Do we auth or not? Note the distinction between the auth variable and auth() function
                if($this->auth){
                    if(!$this->auth())
                        return FALSE;
                }
$this->mail($this->from);
                if(is_array($this->recipients))
                    foreach($this->recipients as $value)
                        $this->rcpt($value);
                else
                    $this->rcpt($this->recipients);
                if(!$this->data())
                    return FALSE;
                // Transparency
                $headers = str_replace(CRLF.'.', CRLF.'..', trim(implode(CRLF, $this->headers)));
                $body    = str_replace(CRLF.'.', CRLF.'..', $this->body);
                $body    = $body[0] == '.' ? '.'.$body : $body;
                $this->send_data($headers);
                $this->send_data(');
                $this->send_data($body);
                $this->send_data('.');
                return (substr(trim($this->get_data()), 0, 3) === '250');
            }else{
                $this->errors[] = 'Not connected!';
                return FALSE;
            }
        }
        
        /***************************************
        ** Function to implement HELO cmd
        ***************************************/
        function helo(){
            if(is_resource($this->connection)
                    AND $this->send_data('HELO '.$this->helo)
                    AND substr(trim($error = $this->get_data()), 0, 3) === '250' ){
                return TRUE;
            }else{
return FALSE;
            }
        }
        
        /***************************************
        ** Function to implement EHLO cmd
        ***************************************/
        function ehlo(){
            if(is_resource($this->connection)
                    AND $this->send_data('EHLO '.$this->helo)
                    AND substr(trim($error = $this->get_data()), 0, 3) === '250' ){
                return TRUE;
            }else{
                $this->errors[] = 'EHLO command failed, output: ' . trim(substr(trim($error),3));
                return FALSE;
            }
        }
        
        /***************************************
        ** Function to implement AUTH cmd
        ***************************************/
        function auth(){
            if(is_resource($this->connection)
                    AND $this->send_data('AUTH LOGIN')
                    AND substr(trim($error = $this->get_data()), 0, 3) === '334'
                    AND $this->send_data(base64_encode($this->user))            // Send username
                    AND substr(trim($error = $this->get_data()),0,3) === '334'
                    AND $this->send_data(base64_encode($this->pass))            // Send password
                    AND substr(trim($error = $this->get_data()),0,3) === '235' ){
                return TRUE;
            }else{
                $this->errors[] = 'AUTH command failed: ' . trim(substr(trim($error),3));
  return FALSE;
            }
        }
        /***************************************
        ** Function that handles the MAIL FROM: cmd
        ***************************************/
        
        function mail($from){
            if($this->is_connected()
                AND $this->send_data('MAIL FROM:')
                AND substr(trim($this->get_data()), 0, 2) === '250' ){
                return TRUE;
            }else
                return FALSE;
        }
        /***************************************
        ** Function that handles the RCPT TO: cmd
        ***************************************/
        
        function rcpt($to){
            if($this->is_connected()
                AND $this->send_data('RCPT TO:')
                AND substr(trim($error = $this->get_data()), 0, 2) === '25' ){
                return TRUE;
            }else{
                $this->errors[] = trim(substr(trim($error), 3));
                return FALSE;
            }
        }
        /***************************************
        ** Function that sends the DATA cmd
        ***************************************/
        function data(){
            if($this->is_connected()
                AND $this->send_data('DATA')
                AND substr(trim($error = $this->get_data()), 0, 3) === '354' ){
                return TRUE;
            }else{
                $this->errors[] = trim(substr(trim($error), 3));
return FALSE;
            }
        }
        /***************************************
        ** Function to determine if this object
        ** is connected to the server or not.
        ***************************************/
        function is_connected(){
            return (is_resource($this->connection) AND ($this->status === SMTP_STATUS_CONNECTED));
        }
        /***************************************
        ** Function to send a bit of data
        ***************************************/
        function send_data($data){
            if(is_resource($this->connection)){
                return fwrite($this->connection, $data.CRLF, strlen($data)+2);
            }else
                return FALSE;
        }
        /***************************************
        ** Function to get data.
        ***************************************/
        function &get_data(){
            $return = ';
            $line   = ';
            if(is_resource($this->connection)){
                while(strpos($return, CRLF) === FALSE OR substr($line,3,1) !== ' '){
                    $line    = fgets($this->connection, 512);
                    $return .= $line;
                }
                return $return;
            }else
                return FALSE;
        }
        /***************************************
        ** Sets a variable
        ***************************************/
        
        function set($var, $value){
            $this->$var = $value;
return TRUE;
        }
    } // End of class
?>


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载