Rumah pembangunan bahagian belakang tutorial php 我常用的几个类_PHP教程

我常用的几个类_PHP教程

Jul 21, 2016 pm 04:08 PM
php kod Semak semula beberapa praktikal daripada baik hati


我常用的几个类 修改自hk的

PHP代码:--------------------------------------------------------------------------------
/*
作用:取得随机字符串
参数:
    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             $num = rand(0, $l);
            $result .= $str[$num];
        }
        return $result;
    }
}



PHP代码:--------------------------------------------------------------------------------
/*
作用:取得客户端信息
参数:
返回:指定的资料
使用:
    $code = new clientGetObj;
    1、浏览器:$str = $code->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', 'MacWeb', 'WebExplorer', 'OmniWeb');
        for($i = 0; $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 = false;
        }
        return $browseinfo;
    }

    function getIP ()
    {
        global $_SERVER;
        if (getenv('HTTP_CLIENT_IP')) {
            $ip = getenv('HTTP_CLIENT_IP');
        } else if (getenv('HTTP_X_FORWARDED_FOR')) {
            $ip = getenv('HTTP_X_FORWARDED_FOR');
        } else if (getenv('REMOTE_ADDR')) {
            $ip = getenv('REMOTE_ADDR');
        } else {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }

    function getOS ()
    {
        global $_SERVER;
        $agent = $_SERVER['HTTP_USER_AGENT'];
        $os = false;
        if (eregi('win', $agent) && strpos($agent, '95')){
            $os = 'Windows 95';
        }
        else if (eregi('win 9x', $agent) && strpos($agent, '4.90')){
            $os = 'Windows ME';
        }
        else if (eregi('win', $agent) && ereg('98', $agent)){
            $os = 'Windows 98';
        }
        else if (eregi('win', $agent) && eregi('nt 5.1', $agent)){
            $os = 'Windows XP';
        }
        else if (eregi('win', $agent) && eregi('nt 5', $agent)){
            $os = 'Windows 2000';
        }
        else if (eregi('win', $agent) && eregi('nt', $agent)){
            $os = 'Windows NT';
        }
        else if (eregi('win', $agent) && ereg('32', $agent)){
            $os = 'Windows 32';
        }
        else if (eregi('linux', $agent)){
            $os = 'Linux';
        }
        else if (eregi('unix', $agent)){
            $os = 'Unix';
        }
        else if (eregi('sun', $agent) && eregi('os', $agent)){
            $os = 'SunOS';
        }
        else if (eregi('ibm', $agent) && eregi('os', $agent)){
            $os = 'IBM OS/2';
        }
        else if (eregi('Mac', $agent) && eregi('PC', $agent)){
            $os = 'Macintosh';
        }
        else if (eregi('PowerPC', $agent)){
            $os = 'PowerPC';
        }
        else if (eregi('AIX', $agent)){
            $os = 'AIX';
        }
        else if (eregi('HPUX', $agent)){
            $os = 'HPUX';
        }
        else if (eregi('NetBSD', $agent)){
            $os = 'NetBSD';
        }
        else if (eregi('BSD', $agent)){
            $os = 'BSD';
        }
        else if (ereg('OSF1', $agent)){
            $os = 'OSF1';
        }
        else if (ereg('IRIX', $agent)){
            $os = 'IRIX';
        }
        else if (eregi('FreeBSD', $agent)){
            $os = 'FreeBSD';
        }
        else if (eregi('teleport', $agent)){
            $os = 'teleport';
        }
        else if (eregi('flashget', $agent)){
            $os = 'flashget';
        }
        else if (eregi('webzip', $agent)){
            $os = 'webzip';
        }
        else if (eregi('offline', $agent)){
            $os = 'offline';
        }
        else {
             $os = 'Unknown';
        }
        return $os;
    }

}

PHP代码:--------------------------------------------------------------------------------
class cnStrObj
{
    function substrGB ($str = '', $start = '', $len = ''){
        if($start == 0
$start == ''){
            $start = 1;
        }
        if($str == ''
$len == ''){
            return false;
        }
        for($i = 0; $i             $tmpstr = (ord($str[$i]) >= 161 && ord($str[$i]) = 161 && ord($str[$i+1])             if ($i >= $start && $i             {
                $tmp .=$tmpstr;
            }
        }
        return $tmp;
    }

    function isGB ($str)
    {
        $strLen = strlen($str);
        $length = 1;
        for($i = 0; $i             $tmpstr = ord(substr($str, $i, 1));
            $tmpstr2 = ord(substr($str, $i+1, 1));
            if(($tmpstr $tmpstr >= 247) && ($tmpstr2 $tmpstr2 >= 247)){
                $legalflag = false;
            } else {
                $legalflag = true;
            }
        }
        return $legalflag;
    }
}


PHP代码:--------------------------------------------------------------------------------

/***************************************
** Filename.......: class.smtp.inc
** Project........: SMTP Class
** Version........: 1.00b
** Last Modified..: 30 September 2001
***************************************/

    define('SMTP_STATUS_NOT_CONNECTED', 1, TRUE);
    define('SMTP_STATUS_CONNECTED', 2, TRUE);

    class smtp{

        var $connection;
        var $recipients;
        var $headers;
        var $timeout;
        var $errors;
        var $status;
        var $body;
        var $from;
        var $host;
        var $port;
        var $helo;
        var $auth;
        var $user;
        var $pass;

        /***************************************
        ** Constructor function. Arguments:
        ** $params - An assoc array of parameters:
        **
        **   host    - The hostname of the smtp server        Default: localhost
        **   port    - The port the smtp server runs on        Default: 25
        **   helo    - What to send as the HELO command        Default: localhost
        **             (typically the hostname of the
        **             machine this script runs on)
        **   auth    - Whether to use basic authentication    Default: FALSE
        **   user    - Username for authentication            Default:
        **   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{
                $this->errors[] = 'HELO command failed, output: ' . trim(substr(trim($error),3));
                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
?>


用 PHP 动态创建 Flash 动画 (Rate:) (转)   
作者: unknow 发布时间: 2002-7-11 文章类型: 转载 阅读次数: 124次 来自: unknow


Macromedia 公司出品的 Flash 动画软件现已经成为Web页面上非常流行的表现工具,网站开发者利用它引起浏览者的兴趣。然而不幸的是,仅仅使用ActionScript创建动画受到很大的限制,Macromedia已经宣布,打算放弃Flash Generator产品,转而采用支持Flash MX的Cold Fusion,我们的网站将向何处去呢?现在,我们可以利用Ming PHP库来轻松地动态创建Flash动画,并且和我们的代码无缝集成。我们可以根据数据库里的数据创建出各种不同效果的动画。
Ming 动画库最初出现在PHP4.05版本里,替代了以前版本的LibSwf模块。Ming 库采用C编写,支持多种语言,下面先看一下如何利用PHP来制作动画。该库使用简单,和 PHP 紧密集成,但是,该库仍然处于实验阶段,目前的版本是0.2a,在线的教程、例子、和帮助手册可以让我们方便地学习,Ming里的函数组织的很有条理,方便PHP和Flash开发者查找。使用 PHP和Ming库,不但让我们的网站有华丽的装饰,而且可以减少开发Flash动画的费用和繁复的劳动。
使用Ming库有两种方式,我们可以内嵌到PHP里(对Unix平台而言),也可以把它作为一个PHP模块来运行,里面的函数支持所有的平台,使用时也无需实例化。如果我们把Ming库作为PHP模块来运行的话,我们必须明确地调用Ming库,和使用其他模块一样,然后使用该库里的函数。由于使用前必须先加载模块,与把Ming作为内部函数编译的方式相比,要有一点性能的下降。
Ming库是完全免费的,我们可以到创作者的网站下载,地址是:[url]http://www.opaque.net/ming/[/url],该网站....php.net/ming。
一旦我们正确安装和配置了Ming库,我们可以创建一个PHP对象,从PHP里调用Ming的函数,通过调用函数和属性,就可以定义我们的动画了。在PHP模块里有13个对象,提供了Flash的一些功能,也有几个命令可以来控制发行时的参数设定。下面就看看如何利用它来创建动画。
使用Macromedia Flash创建SWF格式的动画,我们先创建一些符号,Flash有三种类型的符号:图形、动画剪辑、按钮。一旦我们创建了这些符号,我们就可以把它们复制到场景里,每一个拷贝称为一个实例,可以放任意多的实例到我们的场景里。接下来就可以定义这些对象的行为了,也就是定义动作和运动轨迹,也可以定义动画的参数,如尺寸大小和背景颜色,如果需要,可以保存成.SWF文件。
利用PHP的Ming库创建Flash动画,和Macromedia Flash一样,必须先创建一些符号,这些符号就是PHP对象的实例,然后定义这些对象在动画场景里的位置和相互关系,接着定义对象在每一帧里的动作,最后定义动画自己。我们可以直接把SWF直接输出到浏览器,也可以保存成SWF格式的文件,以备后用。Flash的优点就是图形化的用户接口,利用Ming库不但可以更加简单的控制对象,而且具有无限的扩展性和再用性。
下面我们就用一个完整的例子来看看如何使用Ming库:


/* 首先创建一个符号,并填充颜色 */
$square = new SWFShape();
$sqfill = $square->addFill(0, 0, 0xff);
$square->setRightFill($sqfill);
$square->movePenTo(-250,-250);
$square->drawLineTo(250,-250);
$square->drawLineTo(250,250);
$square->drawLineTo(-250,250);
$square->drawLineTo(-250,-250);

/* 在动画剪辑里使用上面的符号,并添加一些脚本 */
$sqclip = new SWFSprite();
$i = $sqclip->add($square);
$i->setDepth(1);
$sqclip->setframes(25);
$sqclip->add(new SWFAction("stop();"));
$sqclip->nextFrame();
$sqclip->add(new SWFAction("play();"));
for($n=0; $n$i->rotate(-15);
$sqclip->nextFrame();
}

/* 下面创建按钮 */

function rect($r, $g, $b) {
$s = new SWFShape();
$s->setRightFill($s->addFill($r, $g, $b));
$s->drawLine(500,0);
$s->drawLine(0,500);
$s->drawLine(-500,0);
$s->drawLine(0,-500);
return $s;
}

$b = new SWFButton();
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);
$b->addAction(new SWFAction("setTarget('/box'); gotoandplay(2);"), SWFBUTTON_MOUSEDOWN);

/* 下面创建动画,并添加上面的符号和按钮 */

$m = new SWFMovie();
$m->setDimension(4000,3000);

$i = $m->add($sqclip);
$i->setDepth(3);
$i->moveTo(1650, 400);
$i->setName("box");

$i = $m->add($b);
$i->setDepth(2);
$i->moveTo(1400,900);

/* 最后,我们把它输出到浏览器 */

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/314781.htmlTechArticle我常用的几个类修改自hk的 PHP代码:-------------------------------------------------------------------------------- /* 作用:取得随机字符串 参数: 1、(int)...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles