pos機(jī)試題,2020最新大廠PHP面試題

 新聞資訊  |   2023-03-28 08:28  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于pos機(jī)試題,2020最新大廠PHP面試題的知識,也有很多人為大家解答關(guān)于pos機(jī)試題的問題,今天pos機(jī)之家(www.dsth100338.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機(jī)試題

pos機(jī)試題

1. 什么是面向?qū)ο??主要特征是什么?/strong>

面向?qū)ο笫浅绦虻囊环N設(shè)計(jì)方式,它利于提高程序的重用性,使程序結(jié)構(gòu)更加清晰。主要特征:封裝、繼承、多態(tài)。

我的官方群點(diǎn)擊此處。

2. SESSION 與 COOKIE的區(qū)別是什么,請從協(xié)議,產(chǎn)生的原因與作用說明?

1、http無狀態(tài)協(xié)議,不能區(qū)分用戶是否是從同一個網(wǎng)站上來的,同一個用戶請求不同的頁面不能看做是同一個用戶。

2、SESSION存儲在服務(wù)器端,COOKIE保存在客戶端。Session比較安全,cookie用某些手段可以修改,不安全。Session依賴于cookie進(jìn)行傳遞。

禁用cookie后,session不能正常使用。Session的缺點(diǎn):保存在服務(wù)器端,每次讀取都從服務(wù)器進(jìn)行讀取,對服務(wù)器有資源消耗。Session保存在服務(wù)器端的文件或數(shù)據(jù)庫中,默認(rèn)保存在文件中,文件路徑由php配置文件的session.save_path指定。Session文件是公有的。

3. HTTP 狀態(tài)中302、403、 500代碼含義?

一二三四五原則: 一. 消息系列 二 成功系列 三. 重定向系列 四. 請求錯誤系列 五. 服務(wù)器端錯誤系列

302:臨時轉(zhuǎn)移成功,請求的內(nèi)容已轉(zhuǎn)移到新位置 403:禁止訪問 500:服務(wù)器內(nèi)部錯誤 401代表未授權(quán)。

4. Linux 下建立壓縮包,解壓縮包的命令

Tar.gz:

打包: tar czf file.tar.gz file.txt

解壓: tar xzf file.tar.gz

Bz2:

打包: bzip2 [-k] 文件

解壓: bunzip2 [-k] 文件

Gzip(只對文件,不保留原文件)

打包: gzip file1.txt

解壓: gunzip file1.txt.gz

Zip: -r 對目錄

打包: zip file1.zip file1.txt

解壓: unzip file1.zip

5. 請寫出數(shù)據(jù)類型(int char varchar datetime text)的意思;請問 varchar 和 char有什么區(qū)別?

Int 整數(shù) char 定長字符 Varchar 變長字符 Datetime 日期時間型 Text 文本型 Varchar 與char的區(qū)別 char是固定長度的字符類型,分配多少空間,就占用多長空間。 Varchar是可變長度的字符類型,內(nèi)容有多大就占用多大的空間,能有效節(jié)省空間。 由于varchar類型是可變的,所以在數(shù)據(jù)長度改變的時,服務(wù)器要進(jìn)行額外的操作,所以效率比char類型低。

6. MyISAM 和 InnoDB 的基本區(qū)別?索引結(jié)構(gòu)如何實(shí)現(xiàn)?

MyISAM類型不支持事務(wù),表鎖,易產(chǎn)生碎片,要經(jīng)常優(yōu)化,讀寫速度較快,而InnoDB類型支持事務(wù),行鎖,有崩潰恢復(fù)能力。讀寫速度比MyISAM慢。

創(chuàng)建索引:alert table tablename add index (`字段名`)

7. 不使用cookie向客戶端發(fā)送一個cookie.

理解:session_start()開啟時,生成一個常量 SID,當(dāng)COOKIE開啟時,這個常量為空,當(dāng)COOKIE關(guān)閉時,這個常量中存儲了PHPSESSID的值。通過在URL后加一個SID參數(shù)來傳遞SESSIONID的值,從而使客戶端頁面可以使用SESSION里面的值。 當(dāng)客戶端開啟COOKIE和服務(wù)器端開啟SESSION時。 瀏覽器第一次請求,服務(wù)器會向?yàn)g覽器端發(fā)送一個COOKIE里面存儲SESSIONID. 當(dāng)瀏覽器第二次請求時,會把已存在

8. isset() 和 empty() 區(qū)別

Isset判斷變量是否存在,可以傳入多個變量,若其中一個變量不存在則返回假,empty判斷變量是否為空為假,只可傳一個變量,如果為空為假則返回真。

9. 如何在頁面之間傳遞變量(至少兩種方式) ? GET,POST,COOKIE,SESSION,隱藏表單

1. 寫出匹配URL的正則表達(dá)式.

‘/^(https?|ftps?):\\/\\/(www)\\.([^\\.\\/]+)\\.(com|cn|org)(\\/[\\w-\\.\\/\\?\\%\\&\\=]*)?/i’

2. 請寫出常見的排序算法,并用PHP實(shí)現(xiàn)冒泡排序,將數(shù)組$a = array()按照從小到大的方式進(jìn)行排序。

常見的排序算法: 冒泡排序法、快速排序法、簡單選擇排序法、堆排序法、直接插入排序法、希爾排序法、合并排序法。

冒泡排序法的基本思想是:對待排序記錄關(guān)鍵字從后往前(逆序)進(jìn)行多遍掃描,當(dāng)發(fā)現(xiàn)相鄰兩個關(guān)鍵字的次序與排序要求的規(guī)則不符時,就將這兩個記錄進(jìn)行交換。這樣,關(guān)鍵字較小的記錄將逐漸從后面向前面移動,就象氣泡在水中向上浮一樣,所以該算法也稱為氣泡排序法。

// 冒泡排序法Function mysort($arr){ For($i=0; $i<count($arr); $i++){ For($j=0; $j<count($arr)-1-$i; $j++){ If($arr[$j] > $arr[$j+1]){ $tmp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$tmp; } } } Return $arr;}$arr=array(3,2,1);print_r(mysort($arr));

3. 請說明 PHP 中傳值與傳引用的區(qū)別。什么時候傳值什么時候傳引用?
按值傳遞:函數(shù)范圍內(nèi)對值的任何改變在函數(shù)外部都會被忽略

按引用傳遞:函數(shù)范圍內(nèi)對值的任何改變在函數(shù)外部也能反映出這些修改

優(yōu)缺點(diǎn):按值傳遞時,php必須復(fù)制值。特別是對于大型的字符串和對象來說,這將會是一個代價很大的操作。按引用傳遞則不需要復(fù)制值,對于性能提高很有好處。


10.在PHP中error_reporting這個函數(shù)有什么作用?
設(shè)置 PHP 的報(bào)錯級別并返回當(dāng)前級別。

請用正則表達(dá)式(Regular Expression)寫一個函數(shù)驗(yàn)證電子郵件的格式是否正確。if(isset($_POST['action']) && $_POST['action']==’submitted’){ $email=$_POST['email']; if(!preg_match(“/^[0-9a-zA-Z-]+@[0-9a-zA-Z-]+(\\.[0-9a-zA-Z-]+){1,3}$/”,$email)){ echo “電子郵件檢測失敗”; }else{ echo “電子郵件檢測成功”; }}

11.使用PHP描述快速排序算法,對象可以是一個數(shù)組?

原理:快速排序使用分治策略來把待排序數(shù)據(jù)序列分為兩個子序列,具體步驟為:

(1)從數(shù)列中挑出一個元素,稱該元素為“基準(zhǔn)”。

(2)掃描一遍數(shù)列,將所有比“基準(zhǔn)”小的元素排在基準(zhǔn)前面,所有比“基準(zhǔn)”大的元素排在基準(zhǔn)后面。

(3)通過遞歸,將各子序列劃分為更小的序列,直到把小于基準(zhǔn)值元素的子數(shù)列和大于基準(zhǔn)值元素的子數(shù)列排序。

//快速排序(數(shù)組排序)function QuickSort($arr){ $num = count($arr); $l=$r=0; for($i=1;$i<$num;$i++){ if($arr[$i] < $arr[0]){ $left[] = $arr[$i]; $l++; }else{ $right[] = $arr[$i]; $r++; } } if($l > 1){ $left = QuickSort($left); } $new_arr = $left; $new_arr[] = $arr[0]; if($r > 1){ $right = QuickSort($right); } for($i=0;$i<$r;$i++){ $new_arr[] = $right[$i]; } return $new_arr;}

12.使用PHP描述順序查找和二分查找(也叫做折半查找)算法,順序查找必須考慮效率,對象可以是一個有序數(shù)組

//二分查找(數(shù)組里查找某個元素)function bin_sch($array, $low, $high, $k){ if ($low <= $high){ $mid = intval(($low+$high)/2); if ($array[$mid] == $k){ return $mid; }elseif ($k < $array[$mid]){ return bin_sch($array, $low, $mid-1, $k); }else{ return bin_sch($array, $mid+1, $high, $k); } } return -1;}//順序查找(數(shù)組里查找某個元素)function seq_sch($array, $n, $k){ $array[$n] = $k; for($i=0; $i<$n; $i++){ if($array[$i]==$k){ break; } } if ($i<$n){ return $i; }else{ return -1; }}

13.寫一個二維數(shù)組排序算法函數(shù),能夠具有通用性,可以調(diào)用php內(nèi)置函數(shù)(array_multisort())

//二維數(shù)組排序, $arr是數(shù)據(jù),$keys是排序的健值,$order是排序規(guī)則,1是升序,0是降序function array_sort($arr, $keys, $order=0) { if (!is_array($arr)) { return false; } $keysvalue = array(); foreach($arr as $key => $val) { $keysvalue[$key] = $val[$keys]; } if($order == 0){ asort($keysvalue); }else { arsort($keysvalue); } reset($keysvalue); foreach($keysvalue as $key => $vals) { $keysort[$key] = $key; } $new_array = array(); foreach($keysort as $key => $val) { $new_array[$key] = $arr[$val]; } return $new_array;}

14.請以空格作為間隔,拆分字符串’Apple Orange Banana Strawberry’,組成數(shù)組$fruit,

* 數(shù)組中所有元素都用小寫字母,并按照字母先后次序排序

class sort { private $str; public function __construct($str) { $this->str=strtolower($str); } private function explodes() { if(empty($this->str)) return array(); $arr=explode(" ",$this->str); return is_array($arr)?$arr:array($arr); } public function sort() { $explode=$this->explodes(); sort($explode); return $explode; } } $str='Apple Orange Banana Strawberry'; $sortob=new sort($str); var_dump($sortob->sort());

15.對于用戶輸入一串字符串$string,要求$string中只能包含大于0的數(shù)字和英文逗號,請用正則 表達(dá)式驗(yàn)證,對于不符合要求的$string返回出錯信息

class regx { public static function check($str) { if(preg_match("/^([1-9,])+$/",$str)) { return true; } return false; } } $str="12345,6"; if(regx::check($str)) { echo "suc"; } else { echo "fail"; }

16.請寫一段程序,在服務(wù)器創(chuàng)建一個文件fruit.dat,將試題3中得到的數(shù)組寫入到改文件中,然后寫一段程序從文件中讀取并還原數(shù)組@author zhuwenqiong

class sort { private $str; public function __construct($str) { $this->str=strtolower($str); } private function explodes(){ if(empty($this->str)) return array(); $arr=explode(" ",$this->str); return is_array($arr)?$arr:array($arr); } public function sort() { $explode=$this->explodes(); sort($explode); return $explode; } } class file { private $sort=null; private $filepath; public function __construct($arrobj,$path) { $this->sort=$arrobj; $this->filepath=$path; } private function getresource($filename,$mode) { return fopen($this->filepath.$filename,$mode); } private function closeresource($resource) { fclose($resource); } public function savefile($filename) { $arr=$this->sort->sort(); $fopen=$this->getresource($filename,"a+"); if(!$fopen){ echo "文件打開失敗!"; exit; } var_dump($arr); foreach($arr as $key=>$value) { fwrite($fopen,$value."\"); } $this->closeresource($fopen); } public function readfile($filename) { $this->savefile($filename); $fopen=$this->getresource($filename,"r"); if(!$fopen){ echo "文件打開失??!";exit; } $arr=array(); while(!feof($fopen)) { $get=fgets($fopen); if(!empty($get)) $arr[]=str_replace("\","",$get); } $this->closeresource($fopen); return $arr; } } $file=new file(new sort('Apple Orange Banana Strawberry'),"E:\\\\"); $arr=$file->readfile("fruit.dat"); var_dump($arr);

17.單例模式,創(chuàng)建mysqli數(shù)據(jù)庫鏈接的單例對象

class Db { private static $instance; public $handle; Private function __construct($host,$username,$password,$dbname) { $this->handle=NULL; $this->getcon($host,$username,$password,$dbname); } public static function getBb() { self::$instance=new Db(); return self::$instance; } private function getcon($host,$username,$password,$dbname) { if($this->handle!=NULL){ return true; } $this->handle=mysqli_connect($host,$username,$password,$dbname); } }

18.windows平臺, Apache Http Server啟動失敗, 排錯思路是什么?

檢查apache使用的80端口是否被占用,如果被占用,先停止占用80端口的服務(wù),然后啟動apache服務(wù)器

19.PHP session擴(kuò)展默認(rèn)將session數(shù)據(jù)儲存在哪里? D

A) SQLite Database

B) MySQL Database

C) Shared Memory

D) File System

E) Session Server

20.如果你想要自動加載類,下面哪種函數(shù)聲明是正確的 C

A) function autoload($class_name)

B) function __autoload($class_name, $file)

C) function __autoload($class_name)

D) function _autoload($class_name)

E) function autoload($class_name, $file)

22.PHP程序使用utf-8編碼, 以下程序輸出結(jié)果是什么? B
<?php
$str = ’hello你好世界’;

echo strlen($str);

?>

A) 9 B) 13(gbk) C) 18 D) 17(utf8)

23.你所知道的php數(shù)組相關(guān)的函數(shù)?

array()----創(chuàng)建數(shù)組

array_combine()----通過合并兩個數(shù)組來創(chuàng)建一個新數(shù)組

range()----創(chuàng)建并返回一個包含指定范圍的元素的數(shù)組

compact()----建立一個數(shù)組

array_chunk()----將一個數(shù)組分割成多個

array_merge()----把兩個或多個數(shù)組合并成一個數(shù)組

array_slice()----在數(shù)組中根據(jù)條件取出一段值

array_diff()----返回兩個數(shù)組的差集數(shù)組

array_intersect()----計(jì)算數(shù)組的交集

array_search()----在數(shù)組中搜索給定的值

array_splice()----移除數(shù)組的一部分且替代它

array_key_exists()----判斷某個數(shù)組中是否存在指定的key

shuffle()----把數(shù)組中的元素按隨機(jī)順序重新排列

array_flip()----交換數(shù)組中的鍵和值

array_reverse()----將原數(shù)組中的元素順序翻轉(zhuǎn),創(chuàng)建新的數(shù)組并返回

array_unique()----移除數(shù)組中重復(fù)的值

24.php讀取文件內(nèi)容的幾種方法和函數(shù)?

打開文件,然后讀取。Fopen() fread()

打開讀取一次完成 file_get_contents()

25.以下程序,變量str什么值的情況下輸入111?

if( ! $str ) { echo 111; }

在$str值為:0,’0′,false,null,”"

26.你所知道的PHP的一些技術(shù)(smarty等)?

Smarty,jquery,ajax,memcache,div+css,js,mysqli,pdo,svn,thinkphp,brophp,yii

27.你所熟悉的PHP論壇系統(tǒng) 有哪些?

Discuz

28.你所熟悉的PHP商城系統(tǒng) 有哪些?

Ecshop

29.你所熟悉的PHP開發(fā)框架 有哪些?

Brophp,thinkphp

30.說說你對緩存技術(shù)的了解?

1、緩存技術(shù)是將動態(tài)內(nèi)容緩存到文件中,在一定時間內(nèi)訪問動態(tài)頁面直接調(diào)用緩存文件,而不必重新訪問數(shù)據(jù)庫。

2、使用memcache可以做緩存。

31.你所知道的設(shè)計(jì)模式有哪些?

工廠模式、策略模式、單元素模式、觀察者模式、命令鏈模式

32.說說你對代碼管理的了解? 常使用哪些代碼版本控制軟件?

通常一個項(xiàng)目是由一個團(tuán)隊(duì)去開發(fā),每個人將自己寫好的代碼提交到版本服務(wù)器,由項(xiàng)目負(fù)責(zé)人按照版本進(jìn)行管理,方便版本的控制,提高開發(fā)效率,保證需要時可以回到舊版本。

常用的版本控制器:SVN

33.說說你對SVN的了解?優(yōu)缺點(diǎn)?

SVN是一種版本控制器,程序員開發(fā)的代碼遞交到版本服務(wù)器進(jìn)行集中管理。

SVN的優(yōu)點(diǎn):代碼進(jìn)行集中管理,版本控制容易,操作比較簡單,權(quán)限控制方便。

缺點(diǎn):不能隨意修改服務(wù)器項(xiàng)目文件夾。

34.怎么找到PHP.ini的路徑?

一般都在php的安裝目錄下,或者window系統(tǒng)的windows目錄下。

35.PHP加速模式/擴(kuò)展? PHP調(diào)試模式/工具?

Zend Optimizer加速擴(kuò)展

調(diào)試工具:xdebug

36.你常用到的mysql命令?

Show databases

Show tables

Insert into 表名() values()

Update 表名 set 字段=值 where ...

Delete from 表名 where ...

Select * from 表名 where 條件 order by ... Desc/asc limit ... Group by ... Having ...

37.進(jìn)入mysql管理命令行的命令?

Mysql -uroot -p 回車 密碼

38.show databases; 這個命令的作用?

顯示當(dāng)前mysql服務(wù)器中有哪些數(shù)據(jù)庫

39.show create database mysql; 這個命令的作用?

顯示創(chuàng)建數(shù)據(jù)庫的sql語句

40.show create table user; 這個命令的作用?

顯示創(chuàng)建表的sql語句

41.desc user; 這個命令的作用?

查詢user表的結(jié)構(gòu)

42.explain select * from user; 這個命令的作用?

獲取select相關(guān)信息

43.show processlist; 這個命令的作用?

顯示哪些線程正在運(yùn)行

44.SHOW VARIABLES; 這個命令的作用?

顯示系統(tǒng)變量和值

45.SHOW VARIABLES like ’%conn%’; 這個命令的作用?

顯示系統(tǒng)變量名包含conn的值

46.LEFT JOIN 寫一個SQL語句?

SELECT A.id,A.class FROM A LEFT JOIN B ON A.cid=B.id

47.in, not ni, exist, not exist的作用和區(qū)別?

in在什么中

Not in 不在什么中

Exists 存在

Not exists 不存在

48.怎么找到數(shù)據(jù)庫的配置文件路徑?

在數(shù)據(jù)庫安裝目錄下,my.ini

49.簡述Linux下安裝PHP的過程?

安裝軟件之前先安裝編譯工具gcc、gcc-c++

拷貝源碼包,解包解壓縮

Cd /lamp/php進(jìn)入php目錄

./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc指定安裝目錄和配置文件目錄

Make 編譯

Make install安裝

50.簡述Linux下安裝Mysql的過程?

Groupadd mysql 添加一個用戶組mysqlUseradd -g mysql mysql 添加一個mysql用戶指定分組為mysqlCd /lamp/mysql 進(jìn)入mysql目錄./configure –prefix=/usr/local/mysql/ –with-extra-charsets=allMakeMake all

51.簡述Linux下安裝apache的過程?

Cd /lamp/httpd 進(jìn)去apache軟件目錄./configure –prefix=/usr/local/apache2/ –sysconfdir=/etc/httpd/ –with-included-aprMakeMake all

52.HTML/CSS/DIV/Javascritp:

1. 設(shè)計(jì)一個頁面(4個 div 第一個div 寬960px 居中;第2-4個div 3等分960px;)

<style>Body{ Text-align:center; Margin:0; Padding:0; }#box{ width="360px",height="auto" />

53.用javascript取得一個input的值?取得一個input的屬性?

document.getElementById(‘name’).value;document.getElementById(‘name’).type;

54.用Jquery取得一個input的值?取得一個input的屬性?

$(“input[name='aa']“).val();$(“input[name='aa']“).attr(‘type’);

55.請您寫一段ajax提交的js代碼,或者寫出ajax提交的過程邏輯。

var xmlhttp;if(window.XMLHttpRquest){xmlhttp=new XMLHttpRequest();}else if(window.ActiveXObject){xmlhttp=new ActiveXObject(‘Microsoft.XMLHTTP’);}xmlhttp.open(‘GET’,’1.php?aa=name’,true);xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){if(xmlhttp.status==200){var text=xmlhttp.responseText;}}}xmlhttp.send(null);

56.簡述Cookie的設(shè)置及獲取過程

設(shè)置COOKIE的值:

Setcookie(名稱,值,保存時間,有效域);

獲取值:$_COOKIE['名稱'];

57.面向?qū)ο笾薪涌诤统橄箢惖膮^(qū)別及應(yīng)用場景?

1、有抽象方法的類叫做抽象類,抽象類中不一定只有抽象方法,抽象方法必須使用abstract關(guān)鍵字定義。

2、接口中全部是抽象方法,方法不用使用abstract定義。

3、當(dāng)多個同類的類要設(shè)計(jì)一個上層,通常設(shè)計(jì)為抽象類,當(dāng)多個異構(gòu)的類要設(shè)計(jì)一個上層,通常設(shè)計(jì)為接口。

58.用面向?qū)ο髞韺?shí)現(xiàn)A對象繼承B和C對象

Interface B{ ... }

Interface C{ ... }

Class A implements B,C{ ... }

59.寫出Smarty模板引擎中你常用的關(guān)鍵詞

Assign Display Foreach

Section Loop Item

$smarty Now Const get


60. 增加一個字段性別sex,寫出修改語句

Alert table user add sex enum(’0′,’1′);

61.查詢出年齡介于20歲到30歲之間的用戶

Select * from user where age>20 and age<30

62.如果是一個Web頻繁訪問的查詢,上題的查詢?nèi)绾蝺?yōu)化?

可對where后面的字段 age 建立索引,也可對語句建立存儲過程。

63.echo(),print(),print_r()的區(qū)別?

Echo,print是PHP語句, print_r是函數(shù),

Print()只能打印出簡單類型變量的值(如int,string),有返回值。

print_r()可以打印出復(fù)雜類型變量的值(如數(shù)組,對象)

echo 輸出一個或者多個字符串,無返回值

64.什么是模板技術(shù)、能夠使HTML和PHP分離開使用的模板?

模板技術(shù)就是使程序的邏輯代碼和界面分開的技術(shù)。

能夠使HTML和PHP分開的模板有:Smarty、Template、PHPlib Template、FastTemplate

65.對于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題?

優(yōu)化程序,優(yōu)化數(shù)據(jù)庫,如果程序和數(shù)據(jù)庫已經(jīng)最優(yōu)化,使用以下解決方法:

1、確定當(dāng)前服務(wù)器設(shè)備是否滿足流量需求。

2、使用Memcache緩存技術(shù),把動態(tài)內(nèi)容緩存到文件中,動態(tài)網(wǎng)頁直接調(diào)用這些文件,而不必再訪問數(shù)據(jù)庫。

3、禁止外部盜鏈,圖片和文件外部盜鏈會給服務(wù)器帶來大量的負(fù)載壓力,可以通過refer來禁止外部盜鏈,或者使用apache來配置禁止盜鏈。

4、控制大文件的下載,大文件的下載對于非SCSI硬盤來說會占用大量的資源,導(dǎo)致服務(wù)器的響應(yīng)能力下降。

5、使用不同的主機(jī)分流主要流量,使服務(wù)器均衡負(fù)載。

6、使用流量統(tǒng)計(jì)軟件統(tǒng)計(jì)分析網(wǎng)站流量,可以知道哪些地方耗費(fèi)了大量的流量,哪些頁面需要再進(jìn)行優(yōu)化。

66.mysql_fetch_row() 和mysql_fetch_array之間有什么區(qū)別?

Mysql_fetch_row()是從結(jié)果集中取出一行作為枚舉數(shù)組,mysql_fetch_array()是從結(jié)果集中取出一行作為索引數(shù)組或關(guān)聯(lián)數(shù)組或兩種方式都有。

67.實(shí)現(xiàn)中文字串截取無亂碼的方法

Mb_substr();

68.用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼

獲取客戶端IP:$_SERVER(“REMOTE_ADDR”);

獲取服務(wù)器端IP:$_SERVER["SERVER_ADDR"];

69.有一個網(wǎng)頁地址, 比如PHP開發(fā)資源網(wǎng)主頁: http://www.phpres.com/index.html,如何得到它的內(nèi)容?

獲取網(wǎng)頁內(nèi)容:

$url=”http://www.phpres.com/index.html“;$str=file_get_contents($url);或 $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,’’); curl_setopt($ch,CURLOPT_HEADER,0); curl_exec($ch); curl_close($ch);

70.請寫一個函數(shù)驗(yàn)證電子郵件的格式是否正確

function checkemail($email){echo preg_match(‘/^[0-9a-zA-Z-]+@[0-9a-zA-Z-]+\\.[0-9a-zA-Z]+$/’,$email)?’email格式正確‘:’email格式不正確‘;}

71.簡述如何得到當(dāng)前執(zhí)行腳本路徑,包括所得到參數(shù)

用$_SERVER['SCRIPT_FILENAME'].$_SERVER['REQUEST_URI'];取得當(dāng)前頁面的完整路徑和參數(shù)。

取得參數(shù):$_SERVER['QUERY_STRING'];

72.JS表單彈出對話框函數(shù)是?獲得輸入焦點(diǎn)函數(shù)是?

Alert(); focus();

73.寫一個函數(shù),算出兩個文件的相對路徑

如 $a = ’/a/b/c/d/e.php’;

$b = ’/a/b/12/34/c.php’;

計(jì)算出 $b 相對于 $a 的相對路徑應(yīng)該是 http://www.cnblogs.com/c/d將()添上

$a=”http://www.cnblogs.com/a/b/c/d/e.php”;

$b=”http://www.cnblogs.com/a/b/12/34/c.php”;

$ainfo=parse_url($a);$binfo=parse_url($b); $apath=ltrim($ainfo['path'],'/');$bpath=ltrim($binfo['path'],'/'); $arr=explode('/',$apath);$brr=explode('/',$bpath);$flag=false;for($i=0;$i<count($arr);$i++){ if($arr[$i]!==$brr[$i]){ $ab[$i]='..'; if(!$flag){ for($j=$i;$j<count($brr);$j++){ $bb[]=$brr[$j]; } $flag=true; } }}$cha=array_merge($ab,$bb);$cha=implode('/',$cha);print_r($cha);

74.寫一個函數(shù),能夠遍歷一個文件夾下的所有文件和子文件夾。

function my_scandir($dir){ $files = array(); if ( $handle = opendir($dir) ){ while ( ($file = readdir($handle)) !== false ) { if ( $file != ".." && $file != "." ) { if ( is_dir($dir . "/" . $file) ) { $files[$file] = scandir($dir . "/" . $file); }else { $files[] = $file; } } } closedir($handle); return $files; }}

75.數(shù)據(jù)庫索引有幾類,分別是什么?什么時候該用索引?

普通索引、主鍵索引、唯一索引

并非所有的數(shù)據(jù)庫都以相同的方式使用索引,作為通用規(guī)則,只有當(dāng)經(jīng)常查詢列中的數(shù)據(jù)時才需要在表上創(chuàng)建索引。

76.寫幾個魔術(shù)方法并說明作用?

__call()當(dāng)調(diào)用不存在的方法時會自動調(diào)用的方法

__autoload()在實(shí)例化一個尚未被定義的類是會自動調(diào)用次方法來加載類文件

__set()當(dāng)給未定義的變量賦值時會自動調(diào)用的方法

__get()當(dāng)獲取未定義變量的值時會自動調(diào)用的方法

__construct()構(gòu)造方法,實(shí)例化類時自動調(diào)用的方法

__destroy()銷毀對象時自動調(diào)用的方法

__unset()當(dāng)對一個未定義變量調(diào)用unset()時自動調(diào)用的方法

__isset()當(dāng)對一個未定義變量調(diào)用isset()方法時自動調(diào)用的方法

__clone()克隆一個對象

__tostring()當(dāng)輸出一個對象時自動調(diào)用的方法

77.$_REQUEST、$_POST、$_GET、$_COOKIE、$_SESSION、$_FILES的意思是什么?

它們都是PHP預(yù)定義變量

$_REQUEST用來獲取post或get方式提交的值

$_POST用來獲取post方式提交的值

$_GET用來獲取get方式提交的值

$_COOKIE用來獲取cookie存儲的值

$_SESSION用來獲取session存儲的值

$_FILES用來獲取上傳文件表單的值

78.數(shù)組中下標(biāo)最好是什么類型的,為什么?

數(shù)組的下標(biāo)最好是數(shù)字類型的,數(shù)字類型的處理速度快。

79.++i和i++哪一個效率高,為什么?

++i效率比i++的效率更高,因?yàn)?+i少了一個返回i的過程。

80.magic_quotes_gpc()、magic_quotes_runtime()的意思是什么?

Magic_quotes_gpc()是php配置文件中的,如果設(shè)置為on則會自動POST,GET,COOKIE中的字符串進(jìn)行轉(zhuǎn)義,在‘之前加\\

Magic_quotes_runtime()是php中的函數(shù),如果參數(shù)為true則會數(shù)據(jù)庫中取出來的單引號、雙引號、反斜線自動加上反斜杠進(jìn)行轉(zhuǎn)義。

81.框架中什么是單一入口和多入口,單一入口的優(yōu)缺點(diǎn)?

1、多入口就是通過訪問不同的文件來完成用戶請求。

單一入口指web程序所有的請求都指向一個腳本文件的。

2、單一入口更容易控制權(quán)限,方便對http請求可以進(jìn)行安全性檢查。

缺點(diǎn):URL看起來不那么美觀,特別是對搜索引擎來說不友好。

82.你對Memcach的理解,優(yōu)點(diǎn)有哪些?

Memcache是一種緩存技術(shù),在一定的時間內(nèi)將動態(tài)網(wǎng)頁經(jīng)過解析之后保存到文件,下次訪問時動態(tài)網(wǎng)頁就直接調(diào)用這個文件,而不必再重新訪問數(shù)據(jù)庫。使用memcache做緩存的好處是:提高網(wǎng)站的訪問速度,減輕高并發(fā)時服務(wù)器的壓力。

Memcache的優(yōu)點(diǎn):穩(wěn)定、配置簡單、多機(jī)分布式存儲、速度快。

83.對關(guān)系型數(shù)據(jù)庫而言,索引是相當(dāng)重要的概念,請回答有關(guān)索引幾個問題:

a) 索引的目的是什么?

1、快速訪問數(shù)據(jù)表中的特定信息,提高檢索速度

2、創(chuàng)建唯一性索引,保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性

3、加速表和表之間的連接

4、使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時,可以顯著減少查詢中分組和排序的時間

b) 索引對數(shù)據(jù)庫系統(tǒng)的負(fù)面影響是什么?

負(fù)面影響:創(chuàng)建索引和維護(hù)索引需要耗費(fèi)時間,這個時間隨著數(shù)據(jù)量的增加而增加;索引需要占用物理空間,不光是表需要占用數(shù)據(jù)空間,每個索引也需要占用物理空間;當(dāng)對表進(jìn)行增、刪、改的時候索引也要動態(tài)維護(hù),這樣就降低了數(shù)據(jù)的維護(hù)速度。

c) 為數(shù)據(jù)表建立索引的原則有哪些?

1、在最頻繁使用的、用以縮小查詢范圍的字段上建立索引

2、在平頻繁使用的、需要排序的字段上建立索引

d) 什么情況下不宜建立索引?

1、對于查詢中很少涉及的列或者重復(fù)值比較多的列,不宜建立索引

2、對于一些特殊的數(shù)據(jù)類型,不宜建立索引,比如文本字段(text),值范圍較少的知道等。

84.web應(yīng)用中,數(shù)據(jù)庫的讀取頻率遠(yuǎn)高于寫入頻率, 如何優(yōu)化MySQL而應(yīng)對此種情景?

使用memcache緩存技術(shù),將動態(tài)數(shù)據(jù)緩存到文件,訪問動態(tài)頁面時直接調(diào)用緩存文件,而不必重新訪問數(shù)據(jù)庫,這樣就減少了查詢數(shù)據(jù)庫的次數(shù)。

如果網(wǎng)站的訪問量很大,可以把數(shù)據(jù)庫讀寫服務(wù)器分開,使用多臺服務(wù)器去處理數(shù)據(jù)庫查詢,使用較少的服務(wù)器去處理數(shù)據(jù)庫的寫入和修改。

85.include與require的區(qū)別?

1.include()在執(zhí)行文件時每次都要進(jìn)行讀取和評估

require()文件只處理一次(實(shí)際上文件內(nèi)容替換了require()語句)

2.require()通常放在PHP腳本程序的最前面

include()的使用和require()一樣,一般放在流程控制的處理區(qū)段中,PHP腳本文件讀到include()語句時,才將它包含的文件讀進(jìn)來,這種方式,可以把程序執(zhí)行時的流程簡單化

3,require()和include()語句是語言結(jié)構(gòu),不是真正的函數(shù),可以像PHP的其他語言結(jié)構(gòu)一樣

4,include_once()和require_once()語句也是在腳本執(zhí)行期間包括并運(yùn)行指定文件,與include()require()唯一的區(qū)別是如果文件中的代碼已經(jīng)被包括了,則不會再次包括.

5,require()包含文件失敗,停止執(zhí)行,給出錯誤(致命的)

include()常用于動態(tài)包含.

通常是自動加載的文件,即使加載出錯,整個程序還是繼續(xù)執(zhí)行

一個頁面聲明,另一個頁面調(diào)用

包函文件失敗,繼續(xù)向下執(zhí)行,返回一條警告

86.PHP字符串中單引號與雙引號的區(qū)別?

單引號不能解釋變量,而雙引號可以解釋變量。

單引號不能轉(zhuǎn)義字符,在雙引號中可以轉(zhuǎn)義字符。

87.php中,模板引擎的目的是什么? 你用過哪些模板引擎?

使用模板引擎的目的是使程序的邏輯代碼和html界面代碼分離開,是程序的結(jié)構(gòu)更清晰。

使用過的模板引擎:Smarty、ThinkPHP的ThinkTemplate

88.指出以下代碼片段中的SQL注入漏洞以及解決方法(magic_quotes_gpc = off)
mysql_query(“select id,title from content where catid=’{$_GET[catid]}’ and title like ’%$_GET[keywords]%’”, $link);

注入漏洞主要存在用戶提交的數(shù)據(jù)上,這里的注入漏洞主要是$_GET[catid]和$_GET[keyword]

解決注入漏洞:

$_GET[catid]=intval($_GET[catid]);

$sql=”select id,title from content where catid=’{$_GET[catid]}’ and title like ’%$_GET[keywords]%”;

$sql=addslashes($sql);

Mysql_query($sql);

89.分別指出php.ini中 magic_quotes_gpc, magic_quotes_runtime兩項(xiàng)參數(shù)的作用.

Magic_quotes_gpc的作用是在POST、GET、COOKIE數(shù)據(jù)上使用addslashes()自動轉(zhuǎn)義。

Magic_quotes_runtime參數(shù)的作用是設(shè)置狀態(tài),當(dāng)狀態(tài)為0時則關(guān)閉自動轉(zhuǎn)義,設(shè)置為1則自動轉(zhuǎn)義,將數(shù)據(jù)庫中取出來的單引號、雙引號、反斜線這些字符加上反斜杠轉(zhuǎn)義。

90.寫出以下php代碼的運(yùn)行結(jié)果:
<?php
function foo($i) {
$i++;
echo $i ;
}

function bar(&$i) {

}
$i = 10 ;
echo $i++ , ++$i; 輸出:10,12
foo($i); 輸出:13
bar($i); 輸出:無輸出


91.如何快速下載一個遠(yuǎn)程http服務(wù)器上的圖片文件到本地?

$file=”";

$fp=fopen($file,’rb’);

$img=fread($fp,10000);

$dir=”./”;

$local=fopen($dir.’/’.basename($file),’w');

Fwrite($local,$img);

92.什么是時間戳? 如何取得當(dāng)前時間戳?

時間戳是從1970年1月1日 00:00:00到指定日期的秒數(shù)。

獲取當(dāng)前時間戳:time()

93.了解XSS攻擊嗎? 如何防止 ?

XSS是跨站腳本攻擊,首先是利用跨站腳本漏洞以一個特權(quán)模式去執(zhí)行攻擊者構(gòu)造的腳本,然后利用不安全的Activex控件執(zhí)行惡意的行為。

使用htmlspecialchars()函數(shù)對提交的內(nèi)容進(jìn)行過濾,使字符串里面的特殊符號實(shí)體化。

94.SQL注入漏洞產(chǎn)生的原因 ? 如何防止?

SQL注入產(chǎn)生的原因:程序開發(fā)過程中不注意規(guī)范書寫sql語句和對特殊字符進(jìn)行過濾,導(dǎo)致客戶端可以通過全局變量POST和GET提交一些sql語句正常執(zhí)行。

95.防止SQL注入:

1、開啟配置文件中的magic_quotes_gpc和magic_quotes_runtime設(shè)置

2、執(zhí)行sql語句時使用addslashes進(jìn)行sql語句轉(zhuǎn)換

3、Sql語句書寫盡量不要省略小引號和單引號

4、過濾掉sql語句中的一些關(guān)鍵字:update、insert、delete、select、*

5、提高數(shù)據(jù)庫表和字段的命名技巧,對一些重要的字段根據(jù)程序的特點(diǎn)命名,取不易被猜到的。

6、Php配置文件中設(shè)置register_globals為off,關(guān)閉全局變量注冊

7、控制錯誤信息,不要在瀏覽器上輸出錯誤信息,將錯誤信息寫到日志文件中。

96.一個字節(jié)占多少bit ? 一個IPv4地址占幾個字節(jié)? 一個IPv6地址呢?

一個字節(jié)占8bit,一個IPV4占用4字節(jié),一個IPV6占用16字節(jié)。

97.M ADSL寬帶連接, 理想情況下, 最大下載速度是多少KB/s ?

256KB/s

98.請寫出一個正則表達(dá)式,用于匹配一個HTML文件中<img />標(biāo)記中的圖片地址

$url=”<img src=’11.jpg’/>”;

/<img[\\s]*src=['|\\"](.*)['|\\"][\\s]*\\/>/

99.Fatal error: Call to undefined method ge_user() in /website/index.php on line 39

調(diào)用了未定義的方法ge_user(),檢查程序中有沒有定義此方法

100.Fatal error: Class ’client’ not found in /website/index.php on line 173

類client沒有找到,檢查文件中有沒有client類,或者有沒有包含client類文件

101.抓取遠(yuǎn)程圖片到本地,你會用什么函數(shù)?

fsockopen, A

102.用PHP打印出前一天的時間,打印格式是2007年5月10日22:21:21

Echo date(‘Y-m-d H:i:s’,strtotime(‘-1 day’));

103.javascript能否定義二維數(shù)組,如果不能你如何解決?

javascript不支持二維數(shù)組定義,可以用arr[0] = new array()來解決

104.假設(shè)a.html和b.html在同一個文件夾下面,用javascript實(shí)現(xiàn)當(dāng)打開a.html五秒鐘后,自動跳轉(zhuǎn)到b.html。

<script>function go2b(){ window.location = “b.html”; window.close();}setTimeout( “go2b()”,5000 ); //5秒鐘后自動執(zhí)行g(shù)o2b()</script>


105.、在HTTP 1.0中,狀態(tài)碼 401 的含義是未授權(quán)____;如果返回“找不到文件”的提示,則可用 header 函數(shù),其語句為header(“HTTP/1.0 404 Not Found”);
401表示未授權(quán);header(“HTTP/1.0 404 Not Found”);

106.把 John 新增到 users 陣列?

$users[] = ‘john’; array_push($users,‘john’);

107.在PHP中error_reporting這個函數(shù)有什么作用?
error_reporting() 設(shè)置 PHP 的報(bào)錯級別并返回當(dāng)前級別。

108.如何修改SESSION的生存時間(1分).

方法1:將php.ini中的session.gc_maxlifetime設(shè)置為9999重啟apache

方法2:$savePath = “./session_save_dir/”;

$lifeTime = 小時 * 秒;

session_save_path($savePath);

session_set_cookie_params($lifeTime);

session_start();

方法3:

setcookie() and session_set_cookie_params($lifeTime);

109.有一個網(wǎng)頁地址, 比如PHP開發(fā)資源網(wǎng)主頁: http://www.phpres.com/index.html,如何得到它的內(nèi)容?($1分)

方法1(對于PHP5及更高版本):

$readcontents = fopen(“http://www.phpres.com/index.html”, “rb”);$contents = stream_get_contents($readcontents);fclose($readcontents);echo $contents;方法2:echo file_get_contents(“http://www.phpres.com/index.html”);

110.寫一個函數(shù),盡可能高效的,從一個標(biāo)準(zhǔn) url 里取出文件的擴(kuò)展名

例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php

答案1:

function getExt($url){$arr = parse_url($url);$file = basename($arr['path']);$ext = explode(“.”,$file);return $ext[1];}

答案2:

function getExt($url) {$url = basename($url);$pos1 = strpos($url,”.”);$pos2 = strpos($url,”?”);if(strstr($url,”?”)){Return substr($url,$pos1 + 1,$pos2 – $pos1 – 1);} else {return substr($url,$pos1);}}

111.使用五種以上方式獲取一個文件的擴(kuò)展名

要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,必須使用PHP自帶的處理函數(shù)進(jìn)行處理,方法不能明顯重復(fù),可以封裝成函數(shù) get_ext1($file_name), get_ext2($file_name)function get_ext1($file_name){return strrchr($file_name, ‘.’);}function get_ext2($file_name){return substr($file_name,strrpos($file_name, ‘.’));}function get_ext3($file_name){return array_pop(explode(‘.’, $file_name));}function get_ext4($file_name){$p = pathinfo($file_name);return $p['extension'];}function get_ext5($file_name){return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), ‘.’)));}18、<?php$str1 = null;$str2 = false;echo $str1==$str2 ? ‘相等’ : ‘不相等’;$str3 = ”;$str4 = 0;echo $str3==$str4 ? ‘相等’ : ‘不相等’;$str5 = 0;$str6 = ’0′;echo $str5===$str6 ? ‘相等’ : ‘不相等’;?>

相等 相等 不相等

112.MySQL數(shù)據(jù)庫中的字段類型varchar和char的主要區(qū)別是什么?哪種字段的查找效率要高,為什么?
Varchar是變長,節(jié)省存儲空間,char是固定長度。查找效率要varchar型快,因?yàn)関archar是非定長,必須先查找長度,然后進(jìn)行數(shù)據(jù)的提取,比char定長類型多了一個步驟,所以效率低一些

113.請使用JavaScript寫出三種產(chǎn)生一個Image 標(biāo)簽的方法(提示:從方法、對象、HTML角度考慮)

(1)var img = new Image();
(2)var img = document.createElement(“image”)
(3)img.innerHTML = “<img src=”xxx.jpg” />”

114.請描述出兩點(diǎn)以上XHTML和HTML最顯著的區(qū)別
(1)XHTML必須強(qiáng)制指定文檔類型DocType,HTML不需要
(2)XHTML所有標(biāo)簽必須閉合,HTML比較隨意

115.寫出三種以上MySQL數(shù)據(jù)庫存儲引擎的名稱(提示:不區(qū)分大小寫)
MyISAM、InnoDB、BDB(Berkeley DB)、Merge、Memory(Heap)、Example、Federated、Archive、CSV、Blackhole、MaxDB 等等十幾個引擎

116.求兩個日期的差數(shù),例如2007-2-5 ~ 2007-3-6 的日期差數(shù)

方法一:<?phpclass Dtime{ function get_days($date1, $date2){ $time1 = strtotime($date1); $time2 = strtotime($date2); return ($time2-$time1)/86400; }}$Dtime = new Dtime;echo $Dtime->get_days(’2007-2-5′, ’2007-3-6′);?>方法二:<?php$temp = explode(‘-’, ’2007-2-5′);$time1 = mktime(0, 0, 0, $temp[1], $temp[2], $temp[0]);$temp = explode(‘-’, ’2007-3-6′);$time2 = mktime(0, 0, 0, $temp[1], $temp[2], $temp[0]);echo ($time2-$time1)/86400;方法三:echo abs(strtotime(“2007-2-1″)-strtotime(“2007-3-1″))/60/60/24 計(jì)算時間差

117.請寫一個函數(shù),實(shí)現(xiàn)以下功能:
字符串“open_door” 轉(zhuǎn)換成 “OpenDoor”、”make_by_id” 轉(zhuǎn)換成 ”MakeById”。
方法:
function str_explode($str){
$str_arr=explode(“_”,$str);$str_implode=implode(” “,$str_arr); $str_implode=implode
(“”,explode(” “,ucwords($str_implode)));
return $str_implode;
}
$strexplode=str_explode(“make_by_id”);print_r($strexplode);
方法二:$str=”make_by_id!”;
$expStr=explode(“_”,$str);
for($i=0;$i<count($expStr);$i++){
echo ucwords($expStr[$i]);
}

方法三:echo str_replace(‘ ‘,”,ucwords(str_replace(‘_’,’ ‘,’open_door’)));

118.一個表中的Id有多個記錄,把所有這個id的記錄查出來,并顯示共有多少條記錄數(shù),用SQL語句及視圖、存儲過程分別實(shí)現(xiàn)。
DELIMITER //
create procedure proc_countNum(in columnId int,out rowsNo int)
begin
select count(*) into rowsNo from member where member_id=columnId;
end
call proc_countNum(1,@no);
select @no;
方法:視圖:
create view v_countNum as select member_id,count(*) as countNum from member group by
member_id
select countNum from v_countNum where member_id=1

119.js中網(wǎng)頁前進(jìn)和后退的代碼

前進(jìn): history.forward();=history.go(1);

后退: history.back();=history.go(-1);

120.echo count(“abc”); 輸出什么?
答案:1

count — 計(jì)算數(shù)組中的單元數(shù)目或?qū)ο笾械膶傩詡€數(shù)

int count ( mixed$var [, int $mode ] ), 如果 var 不是數(shù)組類型或者實(shí)現(xiàn)了 Countable 接口的對象,將返回1,有一個例外,如果 var 是 NULL 則結(jié)果是 0。

對于對象,如果安裝了 SPL,可以通過實(shí)現(xiàn) Countable 接口來調(diào)用 count()。該接口只有一個方法 count(),此方法返回 count() 函數(shù)的返回值。

121.有一個一維數(shù)組,里面存儲整形數(shù)據(jù),請寫一個函數(shù),將他們按從大到小的順序排列。要求執(zhí)行效率高。并說明如何改善執(zhí)行效率。(該函數(shù)必須自己實(shí)現(xiàn),不能使用php函數(shù))

<?phpfunction BubbleSort(&$arr){ $cnt=count($arr); $flag=1; for($i=0;$i<$cnt;$i++){ if($flag==0){ return; } $flag=0; for($j=0;$j<$cnt-$i-1;$j++){ if($arr[$j]>$arr[$j+1]){ $tmp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$tmp; $flag=1; } } }}$test=array(1,3,6,8,2,7);BubbleSort($test);var_dump($test);

122.請舉例說明在你的開發(fā)過程中用什么方法來加快頁面的加載速度
要用到服務(wù)器資源時才打開,及時關(guān)閉服務(wù)器資源,數(shù)據(jù)庫添加索引,頁面可生成靜態(tài),圖片等大文件單獨(dú)服務(wù)器。使用代碼優(yōu)化工具。

123.以下的代碼會產(chǎn)生什么?為什么?
$num =10;
function multiply(){
$num =$num *10;
}
multiply();
echo $num;
由于函式 multiply() 沒有指定 $num 為全域變量(例如 global $num 或者 $_GLOBALS['num']),所以 $num 的值是 10。

124.HTTP協(xié)議中GET、POST和HEAD的區(qū)別?

HEAD: 只請求頁面的首部。

GET: 請求指定的頁面信息,并返回實(shí)體主體。

POST: 請求服務(wù)器接受所指定的文檔作為對所標(biāo)識的URI的新的從屬實(shí)體。

(1)HTTP 定義了與服務(wù)器交互的不同方法,最基本的方法是 GET 和 POST。事實(shí)上 GET 適用于多數(shù)請求,而保留 POST 僅用于更新站點(diǎn)。

(2)在FORM提交的時候,如果不指定Method,則默認(rèn)為GET請 求,F(xiàn)orm中提交的數(shù)據(jù)將會附加在url之后,以?分開與url分開。字母數(shù)字字符原樣發(fā)送,但空格轉(zhuǎn)換為“+“號,其它符號轉(zhuǎn)換為%XX,其中XX為 該符號以16進(jìn)制表示的ASCII(或ISO Latin-1)值。GET請求請?zhí)峤坏臄?shù)據(jù)放置在HTTP請求協(xié)議頭中,而POST提交的數(shù)據(jù)則放在實(shí)體數(shù)據(jù)中;

GET方式提交的數(shù)據(jù)最多只能有1024字節(jié),而POST則沒有此限制。

(3)GET 這個是瀏覽器用戶向服務(wù)器請求最常用的方法。POST這個方法也是用來傳送數(shù)據(jù)的,但是與GET不同的是,使用POST的時候,數(shù)據(jù)不是附在URI后面?zhèn)鬟f的,而是要做為獨(dú)立的行來傳遞,此時還必須要發(fā)送一個Content_length標(biāo)題,以標(biāo)明數(shù)據(jù)長度,隨后一個空白行,然后就是實(shí)際傳送的數(shù)據(jù)。網(wǎng)頁的表單通常是用POST來傳送的。

領(lǐng)取方式:點(diǎn)贊關(guān)注小編后私信【資料】獲取資料領(lǐng)取方式!

部分資料展示:

領(lǐng)取方式:點(diǎn)贊關(guān)注小編后私信【資料】獲取資料領(lǐng)取方式!

以上就是關(guān)于pos機(jī)試題,2020最新大廠PHP面試題的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機(jī)試題的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.dsth100338.com/news/12772.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。