Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 99视频久久,www.色综合,俄罗斯欧美一做一级爱

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          php性能優(yōu)化

          php性能優(yōu)化

          范說明

          性能是網(wǎng)站運行是否良好的關(guān)鍵因素, 網(wǎng)站的性能與效率影響著公司的運營成本及長遠(yuǎn)發(fā)展,編寫出高質(zhì)高效的代碼是我們每個開發(fā)人員必備的素質(zhì),也是我們良好的職業(yè)素養(yǎng)。

          影響性能的因素

          • 商業(yè)需求需求合理性需求與系統(tǒng)的整合需求所帶來的商業(yè)利益是否與需求開發(fā)的成本成正比需求所帶來的風(fēng)險
          • Web 服務(wù)器并發(fā)處理能力高負(fù)載的能力負(fù)載均衡的能力動態(tài)內(nèi)容與靜態(tài)內(nèi)容的處理能力Web 服務(wù)器部署
          • DataBase 服務(wù)器并發(fā)訪問數(shù)據(jù)庫服務(wù)器的部署數(shù)據(jù)庫的 shema 架構(gòu)與的表設(shè)計是否合理數(shù)據(jù)檢索
          • 操作系統(tǒng)
          • 客戶端請求
          • 程序/語言

          分析性能的指標(biāo)

          • 程序的運行時間
          • 程序的運行所消耗的內(nèi)存
          • 單位時間內(nèi)的并行處理
          • 磁盤 IO 的處理

          優(yōu)化性能的目標(biāo)

          快速、并發(fā)、資源消耗低(內(nèi)存、磁盤 IO、CPU 負(fù)載)

          優(yōu)化性能的原則

          • 服務(wù)器配配置最優(yōu)化
          • 服務(wù)器部署合理化
          • 商業(yè)需求合理并與產(chǎn)出的商業(yè)價值成正比
          • 架構(gòu)可用、可維護、可擴展
          • 程序的正確性、簡單性、邏輯的合理性。
          • 不斷的分析性能的的瓶頸
          • 不斷的重構(gòu)已有的代碼
          • 優(yōu)化的優(yōu)先級:program->database->web sersver->os->client

          優(yōu)化

          程序優(yōu)化

          • 變量變量大小,注意變量大小是節(jié)約內(nèi)存的最有效手段,對于來自用戶表單、數(shù)據(jù)庫和文件緩存的數(shù)據(jù)都需要控制變量的大小。 因為cpu要處理的數(shù)據(jù)是來源于內(nèi)存變量有效期,使用unset()函數(shù)注銷不需要的變量是一種良好的習(xí)慣,將一些不需要的變量立即注銷可提高內(nèi)存的使用率。復(fù)制變量,盡量不要復(fù)制變量,否則就會帶來1倍的內(nèi)存消耗,即使復(fù)制變量也應(yīng)該要立即注銷原有變量。變量類型,初始化變量請注意其變量類型,一個變量在執(zhí)行過程中最好只有一種類型狀態(tài)。對于數(shù)組變量,請初始化聲明,如下: $a=array();臨時變量,是處理業(yè)務(wù)邏輯的臨時存儲,這些都是需要消耗內(nèi)存的。如果臨時變量使用結(jié)束請立即注銷,特別是在一些過程式代碼的執(zhí)行流程中,對于一些函數(shù),如果業(yè)務(wù)非常復(fù)雜,同樣需要立即注銷臨時變量靜態(tài)變量,對于一些需要由復(fù)雜業(yè)務(wù)產(chǎn)生的變量,如果在程序的執(zhí)行過程中多次產(chǎn)生并使用,可考慮使用靜態(tài)變量,減少程序的cpu執(zhí)行次數(shù)變量的性能:局部變量>全局變量>類屬性>未定義的變量。
          • 循環(huán)盡量減少循環(huán)的次數(shù)。盡量減少循環(huán)的潛逃的層次,不要超過三層。避免在循環(huán)內(nèi)有過多的業(yè)務(wù)邏輯。不要循環(huán)包含文件不要循環(huán)執(zhí)行數(shù)據(jù)庫操作。優(yōu)先使用foreach,它比for/while效率高,如果循環(huán)內(nèi)要調(diào)用函數(shù),用array_walk最好,它的效率要比for 高出1倍,要比foreach高出43%的效率不要把 count/strlen/sizeof 放到 for 循環(huán)的條件語句中 For($i=0,$count=count($array);$i<$count;$i++){} 不要使用for($i=0;$i<count($array);$i++){};for($i=$total;$i>0;$i–){}性能好于for($i=0;$i<$total;$–){}保持循環(huán)體內(nèi)的業(yè)務(wù)邏輯清晰
          • 函數(shù)函數(shù)職責(zé)清晰,一個函數(shù)只干一件事,不要雜揉過多的業(yè)務(wù)邏輯函數(shù)代碼體不要超過20行,反之,考慮拆分。優(yōu)先使用php內(nèi)置函數(shù)常量與函數(shù)同時能干一件事,優(yōu)先使用常量。 phpversion() < PHP_VERSION get_class() < CLASS is_null() < NULL===echo 的性能好于print,輸入多個變量的時候用echo $str,$str1,不用.連接符$_SERVER[REQUEST_TIME]替換time();字符串替換strtr()->str_replace()->preg_replace()->epreg();發(fā)揮trim最大功效,替換substr。$filepath=trim($filename,’/’).’/’;Isset/empty 雖然兩個函數(shù)功能有所差異,但在同樣的情況下推薦使用 empty()isfile/file_exist 兩個函數(shù)的功能有所不同,file_exist既可判斷文件是否存在,也可以判斷目錄是否存在,在同樣的情況下推薦使用is_file
          • 文件減少文件包含數(shù),減少磁盤 IO使用完整路徑,或者容易轉(zhuǎn)換的相對路徑。避免在 include_path 查找文件的代碼行數(shù)不要超過 2000 行Require_once/include_once 效率低于 require/include, 需要額外的去查看系統(tǒng)是否已經(jīng)調(diào)用過這個文件. 因為它們在一個 opcode 緩存下的調(diào)用非常慢程序執(zhí)行文件用 requie/require_once,緩存文件用include/include_once。Include 效率好于 require優(yōu)化 spl 中的文件自動加載機制,可參靠 yii類庫文件加載,是否考慮類是否已經(jīng)實例化,可考慮采用設(shè)計模式之單例模式文件讀寫的并發(fā)性
          • 面向?qū)ο罂刂茖嵗膭?chuàng)建的數(shù)量優(yōu)先使用常量、類常量優(yōu)先例用靜態(tài)變量,靜態(tài)屬性類的結(jié)構(gòu)合理面象接口編程封裝變化點依賴于抽象,不依賴于細(xì)節(jié)優(yōu)先使用靜態(tài)成員類的接口清晰穩(wěn)定,類的職責(zé)單一,類與類的通信合理使用常量的好處 編譯時解析,沒有額外開銷 雜湊表更小,所以內(nèi)部查找更快 類常量僅存在于特定「命名空間」,所以雜湊名更短 代碼更干凈,使除錯更方便
          • 字符串 用單引號替代雙引號引用字符串;避免檢索字符串中的變量
          • 運算用 i+=1 代替i=i+1。符合c/c++的習(xí)慣,效率還高++$i 的效率高于++$i,–$i 同理
          • 數(shù)組多維數(shù)組盡量不要循環(huán)嵌套賦值;使用$array[‘name’]方式訪問數(shù)組,禁止$array[name]/$array[“name”]
          • 判斷邏輯判斷請優(yōu)先使用switch 的方式,對于業(yè)務(wù)邏輯相對較多的情況請選擇if/else,提高代碼的可讀性盡量控制if/else判斷的個數(shù),如果太多請考慮功能優(yōu)化或代碼優(yōu)化盡量使用恒等用于比較判斷,恒等的效率高于等于,而且還能避免一些類型強制轉(zhuǎn)換的錯誤if/else與_&&,單條語句判斷請選擇&&的形式, &&的效率高于if/else,如下 : if ($a==1) { $b=2; } 可選擇為($a==1) && $b=2;

          緩存

          • 使用php加速器,緩沖opcode
          • 例用memcache/nosql
          • 使用內(nèi)存數(shù)據(jù)庫、
          • 使用文件緩存
          • 緩沖功能

          其它

          • 少用@符號,嚴(yán)重影響性能
          • 適時關(guān)閉遠(yuǎn)程資源連接如數(shù)據(jù)庫,ftp、socket等,適時的清理這些資源
          • 合理的商業(yè)需情
          • 數(shù)據(jù)庫 schema 架構(gòu)優(yōu)化
          • 垂直與水平分庫分表
          • 索引優(yōu)化,查詢優(yōu)化
          • 第三方開源檢索工具(sphinx)
          • 主從數(shù)據(jù)庫服務(wù)器的使用。
          • Web 服器優(yōu)化(暫未整理,有相應(yīng)的 Web 服務(wù)器優(yōu)化手冊)
          • 操作系統(tǒng)優(yōu)化(暫未整理,有相應(yīng)的 OS 優(yōu)化手冊)
          • 前端優(yōu)化合理的 html 結(jié)構(gòu)合理 html 與css 的同時,考慮 Css 設(shè)計合理,減少 http 請求合理 html 與java script 的同時,考慮拆分是否合理,減少 http 請求優(yōu)化 java script 代碼,讓用戶有良好的體驗根據(jù) http 協(xié)議,優(yōu)化高并發(fā)請求

          性能檢測工具

          • Web Server
          • ab
          • http_load
          • xhprof
          • OneAPM
          • apd
          • xdebug
          • Mysql
          • explain
          • profiler


          hp超級全局變量




          PHP中預(yù)定義了幾個超級全局變量(superglobals) ,這意味著它們在一個腳本的全部作用域中都可用。 你不需要特別說明,就可以在函數(shù)及類中使用。

          PHP 超級全局變量列表:

        1. $GLOBALS
        2. $_SERVER
        3. $_REQUEST
        4. $_POST
        5. $_GET
        6. $_FILES
        7. $_ENV
        8. $_COOKIE
        9. $_SESSION


        10. $GLOBALS

          $GLOBALS 是PHP的一個超級全局變量組,在一個PHP腳本的全部作用域中都可以訪問

          $GLOBALS 是一個包含了全部變量的全局組合數(shù)組。變量的名字就是數(shù)組的鍵

          
          <?php 
          $x=75; 
          $y=25;
           
          function addition() 
          { 
              $GLOBALS['z']=$GLOBALS['x'] + $GLOBALS['y']; 
          }
           
          addition(); 
          echo $z; 
          ?>
          

          $_SERVER

          $_SERVER 是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數(shù)組。這個數(shù)組中的項目由 Web 服務(wù)器創(chuàng)建

          
          <?php 
          echo $_SERVER['PHP_SELF'];
          echo "<br>";
          echo $_SERVER['SERVER_NAME'];
          echo "<br>";
          echo $_SERVER['HTTP_HOST'];
          echo "<br>";
          echo $_SERVER['HTTP_REFERER'];
          echo "<br>";
          echo $_SERVER['HTTP_USER_AGENT'];
          echo "<br>";
          echo $_SERVER['SCRIPT_NAME'];
          ?>
          

          $_REQUEST

          PHP $_REQUEST 用于收集HTML表單提交的數(shù)據(jù)。

          以下實例顯示了一個輸入字段(input)及提交按鈕(submit)的表單(form)。 當(dāng)用戶通過點擊 "Submit" 按鈕提交表單數(shù)據(jù)時, 表單數(shù)據(jù)將發(fā)送至<form>標(biāo)簽中 action 屬性中指定的腳本文件。 在這個實例中,我們指定文件來處理表單數(shù)據(jù)。如果你希望其他的PHP文件來處理該數(shù)據(jù),你可以修改該指定的腳本文件名。 然后,我們可以使用超級全局變量 $_REQUEST 來收集表單中的 input 字段數(shù)據(jù):

          
          <html>
          <body>
           
          <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
          Name: <input type="text" name="fname">
          <input type="submit">
          </form>
           
          <?php 
          $name=$_REQUEST['fname']; 
          echo $name; 
          ?>
           
          </body>
          </html>
          

          $_POST

          $_POST 被廣泛應(yīng)用于收集表單數(shù)據(jù),在HTML form標(biāo)簽的指定該屬性:"method="post"。

          以下實例顯示了一個輸入字段(input)及提交按鈕(submit)的表單(form)。 當(dāng)用戶通過點擊 "Submit" 按鈕提交表單數(shù)據(jù)時, 表單數(shù)據(jù)將發(fā)送至<form>標(biāo)簽中 action 屬性中指定的腳本文件。 在這個實例中,我們指定文件來處理表單數(shù)據(jù)。如果你希望其他的PHP文件來處理該數(shù)據(jù),你可以修改該指定的腳本文件名。 然后,我們可以使用超級全局變量 $_POST 來收集表單中的 input 字段數(shù)據(jù)

          
          <html>
          <body>
           
          <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
          Name: <input type="text" name="fname">
          <input type="submit">
          </form>
           
          <?php 
          $name=$_POST['fname']; 
          echo $name; 
          ?>
           
          </body>
          </html>
          

          $_GET

          PHP $_GET 同樣被廣泛應(yīng)用于收集表單數(shù)據(jù),在HTML form標(biāo)簽的指定該屬性:"method="get"。

          $_GET 也可以收集URL中發(fā)送的數(shù)據(jù)。




          PHP中g(shù)et和post區(qū)別?

          第一種:

          • GET在瀏覽器回退時是無害的,而POST會再次提交請求。
          • GET產(chǎn)生的URL地址可以被Bookmark(標(biāo)記),而POST不可以。
          • GET請求會被瀏覽器主動cache(存儲),而POST不會,除非手動設(shè)置。
          • GET請求只能進(jìn)行url編碼,而POST支持多種編碼方式。
          • GET請求參數(shù)會被完整保留在瀏覽器歷史記錄里,而POST中的參數(shù)不會被保留。
          • GET請求在URL中傳送的參數(shù)是有長度限制的,而POST么有。
          • 對參數(shù)的數(shù)據(jù)類型,GET只接受ASCII(美國信息交換標(biāo)準(zhǔn)碼)字符,而POST沒有限制。
          • GET比POST更不安全,因為參數(shù)直接暴露在URL上,所以不能用來傳遞敏感信息。
          • GET參數(shù)通過URL傳遞,POST放在Request body中。

          第二種、

          • get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
          • get是把參數(shù)數(shù)據(jù)隊列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個字段一一對應(yīng),在URL中可以看到。
          • post是通過HTTP post機制,將表單內(nèi)各個字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
          • get傳送的數(shù)據(jù)量較小,不能大于2KB。
          • post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。
          • get安全性非常低,post安全性較高。但是執(zhí)行效率卻比Post方法好。

          注意:post只是相比較get安全性更高一點,并不是說是萬無一失的,在編程語言中,安全是最重要的(在輸出語句中echo,print,var_dump等輸出語句一定要使用過濾函數(shù)如htmlentiti()或正則過濾);




          Cookie

          cookie 常用于識別用戶。cookie 是一種服務(wù)器留在用戶計算機上的小文件。每當(dāng)同一臺計算機通過瀏覽器請求頁面時,這臺計算機將會發(fā)送 cookie。通過 PHP,您能夠創(chuàng)建并取回 cookie 的值。

          如何創(chuàng)建cookie?

          setcookie()函數(shù)用于設(shè)置 cookie

          注釋:setcookie() 函數(shù)必須位于 <html> 標(biāo)簽之前

          語法:

           <?php
             setcookie(name , value, expire ,path , domain); 
            ?>
          <?php
            setcookie("user" , "hulitong", time()+3600); 
           ?>
             
            <html>
             ...

          取回cookie的值

           <?php
            我們使用 isset() 函數(shù)來確認(rèn)是否已設(shè)置了 cookieecho $_COOKIE["user"];  //輸出user的cookie
          print_r($_COOKIE);  //獲取打印所有cookie
            ?>
          <html>
          <head>
          <meta charset="utf-8">
          <title>菜鳥教程(runoob.com)</title>
          </head>
          <body>
          
          <?php
          if (isset($_COOKIE["user"]))
              echo "歡迎 " . $_COOKIE["user"] . "!<br>";
          else
              echo "普通訪客!<br>";
          ?>
          
          </body>
          </html>

          如上:我們使用 isset() 函數(shù)來確認(rèn)是否已設(shè)置了 cookie


          如何刪除Cookie?

          當(dāng)刪除 cookie 時,您應(yīng)當(dāng)使過期日期變更為過去的時間點。

          <?php
          // 設(shè)置 cookie 過期時間為過去 1 小時
          setcookie("user", "", time()-3600);
          ?>



          Session

          session 變量用于存儲關(guān)于用戶會話(session)的信息,或者更改用戶會話(session)的設(shè)置。Session 變量存儲單一用戶的信息,并且對于應(yīng)用程序中的所有頁面都是可用的

          您在計算機上操作某個應(yīng)用程序時,您打開它,做些更改,然后關(guān)閉它。這很像一次對話(Session)。計算機知道您是誰。它清楚您在何時打開和關(guān)閉應(yīng)用程序。然而,在因特網(wǎng)上問題出現(xiàn)了:由于 HTTP 地址無法保持狀態(tài),Web 服務(wù)器并不知道您是誰以及您做了什么。

          PHP session 解決了這個問題,它通過在服務(wù)器上存儲用戶信息以便隨后使用(比如用戶名稱、購買商品等)。然而,會話信息是臨時的,在用戶離開網(wǎng)站后將被刪除。如果您需要永久存儲信息,可以把數(shù)據(jù)存儲在數(shù)據(jù)庫中。

          Session 的工作機制是:為每個訪客創(chuàng)建一個唯一的 id (UID),并基于這個 UID 來存儲變量。UID 存儲在 cookie 中,或者通過 URL 進(jìn)行傳導(dǎo)

          在您把用戶信息存儲到 PHP session 中之前,首先必須啟動會話。

          注釋:session_start() 函數(shù)必須位于 <html> 標(biāo)簽之前:

          <?php session_start(); ?>
           
          <html>
          <body>
           
          </body>
          </html>

          存儲和取回 session 變量的正確方法是使用 PHP $_SESSION 變量

          <?php
          session_start();
          // 存儲 session 數(shù)據(jù)
          $_SESSION['views']=1;
          ?>
           
          <html>
          <head>
          <meta charset="utf-8">
          <title>菜鳥教程(runoob.com)</title>
          </head>
          <body>
           
          <?php
          // 檢索 session 數(shù)據(jù)
          echo "瀏覽量:". $_SESSION['views'];
          ?>
           
          </body>
          </html>


          銷毀session

          如果您希望刪除某些 session 數(shù)據(jù),可以使用 unset() 或 session_destroy() 函數(shù)。

          unset() 函數(shù)用于釋放指定的 session 變量:

          <?php
          session_start();
          if(isset($_SESSION['views']))
          {
              unset($_SESSION['views']);
          }
          ?>

          您也可以通過調(diào)用 session_destroy() 函數(shù)徹底銷毀 session:

          html表單:HTML表單用于收集用戶輸入的數(shù)據(jù),并將數(shù)據(jù)發(fā)送到服務(wù)器進(jìn)行處理,創(chuàng)建了一個包含多種表單元素的表單。其中,<label> 標(biāo)簽用來描述表單元素,<input> 標(biāo)簽用來創(chuàng)建表單輸入框,<textarea> 標(biāo)簽用來創(chuàng)建多行文本輸入框,<button> 標(biāo)簽用來創(chuàng)建提交按鈕等等。下面我們一起來學(xué)習(xí)了解吧



          表單標(biāo)簽

          HTML提供了幾個用于創(chuàng)建表單的標(biāo)簽,包括<form>、<input>、<label>、<select>、<option>、<textarea>和<button>。

          <form>標(biāo)記用于創(chuàng)建表單元素,該元素可以包含一個或多個表單控件,如文本輸入、復(fù)選框、單選按鈕等。

          action屬性指定表單數(shù)據(jù)應(yīng)提交到的URL,method屬性指定用于提交的HTTP方法(通常為“GET”或“POST”)。

          下面是一個帶有文本輸入和提交按鈕的簡單表單示例:

          <form action="submit-form.php" method="POST">
            <label for="name">Name:</label>
            <input type="text" id="name" name="name">
            <button type="submit">Submit</button>
          </form>
          

          在本例中,<label>標(biāo)記用于使用for屬性和id屬性將文本輸入與其標(biāo)簽相關(guān)聯(lián)。輸入的name屬性指定將與表單數(shù)據(jù)一起提交的表單字段的名稱。

          <select>標(biāo)記用于創(chuàng)建選項的下拉列表,<option>標(biāo)記用于定義每個選項。下面是一個例子:

          <label for="color">Favorite color:</label>
          <select id="color" name="color">
            <option value="red">Red</option>
            <option value="green">Green</option>
            <option value="blue">Blue</option>
          </select>
          

          在本例中,每個選項的value屬性指定將與表單數(shù)據(jù)一起提交的值。

          <textarea>標(biāo)記用于創(chuàng)建多行文本輸入。下面是一個例子:

          <label for="message">Message:</label>
          <textarea id="message" name="message"></textarea>
          

          <button>標(biāo)記用于創(chuàng)建一個按鈕,該按鈕可用于提交表單或執(zhí)行其他操作。 下面是一個例子:

          <button type="submit">Submit</button>
          

          文本框、密碼框和多行文本框

          HTML中,文本框、密碼框和多行文本框分別使用input元素的不同type屬性值來實現(xiàn)。

          • 文本框:使用<input type="text">標(biāo)簽實現(xiàn);
          • 密碼框:使用<input type="password">標(biāo)簽實現(xiàn);
          • 多行文本框:使用<textarea></textarea>標(biāo)簽實現(xiàn)。

          文本框、密碼框和多行文本框是用來接收用戶輸入的常見表單元素。它們分別使用不同的標(biāo)簽和屬性來實現(xiàn)。

          1. 文本框

          文本框(text box)是用于接受單行文本輸入的表單元素。可以通過設(shè)置<input>標(biāo)簽的type屬性為"text"來創(chuàng)建文本框。例如:

          <label for="username">用戶名:</label>
          <input type="text" id="username" name="username">
          

          上面的示例代碼中,id屬性定義了文本框的唯一標(biāo)識符,name屬性定義了提交表單時該文本框的名稱。

          1. 密碼框

          密碼框(password field)是用于接受密碼等敏感信息的表單元素,并且會將用戶輸入的字符隱藏起來。可以通過設(shè)置<input>標(biāo)簽的type屬性為"password"來創(chuàng)建密碼框。例如:

          <label for="password">密碼:</label>
          <input type="password" id="password" name="password">
          
          1. 多行文本框

          多行文本框(text area)可用于接收包含多個行的文本輸入,例如評論或留言等。可以通過使用<textarea>標(biāo)簽來創(chuàng)建多行文本框,然后使用它的rows和cols屬性來指定它的尺寸。例如:

          <label for="message">留言:</label>
          <textarea id="message" name="message" rows="5" cols="30"></textarea>
          

          上面的示例代碼中,rows屬性定義了多行文本框的行數(shù),cols屬性定義了多行文本框每一行的字符數(shù)。

          單選框和復(fù)選框

          HTML中,單選框和復(fù)選框是常見的表單元素,用于讓用戶選擇不同選項。它們分別使用<input>標(biāo)簽的不同type屬性值來實現(xiàn)。

          1. 單選框

          單選框(radio button)允許用戶在一組選項中選擇一個。可以使用相同的name屬性來將多個單選框關(guān)聯(lián)起來。當(dāng)用戶勾選其中一個單選框時,其他單選框?qū)⒆詣尤∠x中狀態(tài)。可以通過設(shè)置<input>標(biāo)簽的type屬性為"radio"來創(chuàng)建單選框。例如:

          <form>
            <p>請選擇性別:</p>
            <label><input type="radio" name="gender" value="M">男士</label>
            <label><input type="radio" name="gender" value="F">女士</label>
            <label><input type="radio" name="gender" value="O">其他</label>
          </form>
          

          上面的示例代碼中,三個單選框使用相同的name屬性,以便將它們關(guān)聯(lián)起來。當(dāng)用戶勾選其中一個單選框時,另外兩個單選框?qū)⒆詣尤∠x中狀態(tài)。

          1. 復(fù)選框

          復(fù)選框(checkbox)允許用戶選擇多個選項。可以使用相同的name屬性來將多個復(fù)選框關(guān)聯(lián)起來。當(dāng)用戶勾選其中一個復(fù)選框時,其他復(fù)選框保持不變。可以通過設(shè)置<input>標(biāo)簽的type屬性為"checkbox"來創(chuàng)建復(fù)選框。例如:

          <form>
            <p>請選擇語言:</p>
            <label><input type="checkbox" name="lang" value="js">JavaScript</label>
            <label><input type="checkbox" name="lang" value="py">Python</label>
            <label><input type="checkbox" name="lang" value="java">Java</label>
          </form>
          

          上面的示例代碼中,三個復(fù)選框使用相同的name屬性,以便將它們關(guān)聯(lián)起來。用戶可以勾選多個復(fù)選框。

          單選框和復(fù)選框的值可以通過value屬性進(jìn)行指定,當(dāng)表單提交時,瀏覽器會將被選中的單選框或復(fù)選框的值作為表單數(shù)據(jù)提交到服務(wù)器并進(jìn)行處理。

          下拉列表框和列表框

          HTML中,下拉列表框和列表框是用來顯示多個選項的表單元素。它們分別使用不同的標(biāo)簽和屬性來實現(xiàn)。

          1. 下拉列表框

          下拉列表框(dropdown list)可以讓用戶從多個選項中選擇一個選項。可以使用<select>標(biāo)簽來創(chuàng)建下拉列表框,然后使用<option>標(biāo)簽定義每一個選項。例如:

          <form>
            <p>請選擇城市:</p>
            <select name="city">
              <option value="bj">北京</option>
              <option value="sh">上海</option>
              <option value="gz">廣州</option>
              <option value="sz">深圳</option>
            </select>
          </form>
          

          上面的示例代碼中,四個<option>標(biāo)簽定義了四個選項。其中"value"屬性指定每個選項的值,"text"節(jié)點指定每個選項的文本內(nèi)容。當(dāng)用戶點擊下拉框時,會出現(xiàn)一個下拉菜單列出所有可用選項,用戶可以從中選擇一個選項。

          1. 列表框

          列表框(list box)是另一種顯示多個選項的表單元素,與下拉列表框不同的是,列表框可以同時顯示多個選項。可以使用<select>標(biāo)簽來創(chuàng)建列表框,然后使用<option>標(biāo)簽定義每一個選項并設(shè)置multiple屬性為"multiple"來啟用多選模式。例如:

          <form>
            <p>請選擇興趣愛好:</p>
            <select name="interests" multiple>
              <option value="reading">閱讀</option>
              <option value="music">音樂</option>
              <option value="painting">繪畫</option>
              <option value="sports">運動</option>
            </select>
          </form>
          

          上面的示例代碼中,multiple屬性指定該列表框啟用多選模式。當(dāng)用戶選擇一個或多個選項時,這些選項將被高亮顯示。

          總之,在HTML中可以使用下拉列表框和列表框來為用戶提供多個選項讓用戶選擇,并在表單提交時將選擇的結(jié)果作為表單數(shù)據(jù)提交到服務(wù)器。

          按鈕和圖像按鈕

          HTML中,按鈕和圖像按鈕是用來觸發(fā)事件或提交表單的表單元素。它們分別使用<button>標(biāo)簽和<input>標(biāo)簽的不同type屬性值來實現(xiàn)。

          1. 普通按鈕

          普通按鈕(button)通常用于觸發(fā)一些事件,例如刷新頁面、清空表單等。可以使用<button>標(biāo)簽來創(chuàng)建普通按鈕。例如:

          <button>點擊我</button>
          

          上面的示例代碼中,創(chuàng)建了一個簡單的按鈕,點擊按鈕會觸發(fā)一些事件。

          1. 提交按鈕

          提交按鈕(submit button)用于將表單數(shù)據(jù)提交到服務(wù)器進(jìn)行處理。可以使用<input>標(biāo)簽,并將其type屬性設(shè)置為"submit"來創(chuàng)建提交按鈕,例如:

          <input type="submit" value="提交">
          

          上面的示例代碼中,設(shè)置了一個提交按鈕,當(dāng)用戶點擊該按鈕時,瀏覽器會將表單數(shù)據(jù)提交到服務(wù)器并進(jìn)行處理。

          1. 圖像按鈕

          圖像按鈕(image button)與普通按鈕類似,但它使用圖片而不是文本作為按鈕的標(biāo)識。可以使用<input>標(biāo)簽,并將其type屬性設(shè)置為"image"來創(chuàng)建圖像按鈕,例如:

          <input type="image" src="submit.png" alt="提交">
          

          上面的示例代碼中,創(chuàng)建了一個帶有圖片的圖像按鈕。當(dāng)用戶單擊圖像按鈕時,瀏覽器會將表單數(shù)據(jù)提交到服務(wù)器并進(jìn)行處理。

          總結(jié)

          以上就是今天要講的內(nèi)容,本文簡單介紹了HTML的表單的知識點,更多內(nèi)容可以查看THTML官方文檔

          如果覺得有用,歡迎明天再來,繼續(xù)合集的下一篇文章學(xué)習(xí)
          遇到問題,私信我!!~~


          主站蜘蛛池模板: 无码人妻一区二区三区免费n鬼沢| 无码中文字幕人妻在线一区二区三区 | 亚洲欧洲精品一区二区三区| 国产成人免费一区二区三区| 亚洲av综合av一区二区三区 | 男人的天堂精品国产一区| 无码人妻一区二区三区兔费| 国产精品视频分类一区| 日韩美女在线观看一区| 久久精品一区二区三区中文字幕 | 欧亚精品一区三区免费| 日韩免费视频一区| 亲子乱AV视频一区二区| 精品无码人妻一区二区三区| 中文乱码人妻系列一区二区 | 狠狠色综合一区二区| 无码日韩AV一区二区三区| 中文字幕一区二区三区精华液 | 黄桃AV无码免费一区二区三区| 久久国产一区二区| 中文字幕av一区| 丝袜无码一区二区三区| 日韩一区二区三区射精| 一区二区三区观看| 国产乱码一区二区三区四| 合区精品久久久中文字幕一区| 波多野结衣久久一区二区| 久久久久国产一区二区| 青青青国产精品一区二区| 精品一区二区三区AV天堂| 日本片免费观看一区二区| 美女视频黄a视频全免费网站一区| 伦精品一区二区三区视频| 久久久不卡国产精品一区二区| 老熟妇高潮一区二区三区| 国产在线视频一区二区三区98| 日本一区二区三区精品国产| 日韩一区精品视频一区二区| 一区二区三区在线播放视频| 麻豆天美国产一区在线播放| 久久精品无码一区二区三区日韩 |