搜尋
首頁後端開發php教程php常見知識點梳理總結

php常見知識點梳理總結

Nov 21, 2016 pm 01:46 PM
php

PHP方面:
1,echo print print_r的區別
Echo是PHP語句,print與print_r是函數,語句沒有回傳值,函數可以有回傳值。
Print只能列印簡單型別變數的值。
Print_r可以列印複雜變數值(陣列或物件)
Echo 輸出一個或多個字串。

2,mysql_fetch_array() 與mysql_fetch_row()區別
mysql_fetch_array()返回根據從結果集取得的行產生的數組,如果沒有更多行,返回false,除了將資料以字段做索引外,還可以用字段名作為索引。
mysql_fetch_row() 傳回從結果集中取得一行作為枚舉數組,傳回一個數字索引的數組,偏移量從0開始。
mysql_fetch_array() 是mysql_fetch_row()的擴充版本。

3,PHP物件導向中_set() 與_construct的作用
_set() ——- 用於為屬性設定值,_get() 取得屬性的值
_construct ——- 在一個類別中只能聲明一個構造方法,只有在每次創建物件的時候回去呼叫一次構造方法,不能主動的呼叫這個方法,所以通常用它執行一些有用的初始化任務。

4,PHP中session與cookie的區別
Cookie是保存在客戶端的信息,是一種在遠端瀏覽器儲存數據並以此來追蹤和識別用戶的機制。 PHP的http協定的頭資訊會傳送cookie,因此setcookie()函數必須在其他資訊輸出前調用,和header()函數的限制類似。
Session是保存在伺服器端的訊息,從這個角度,session比cookie更安全。當會話建立時,伺服器傳回客戶端一個加密的session_id 以標識使用者身份,瀏覽器關閉時,session會銷毀,從而session存的值就沒有了。

5,如何設定cookie並指定有效的時間
Bool setcookie(string name,string value,int expire,string path,string domain,bool secure,bool httponly)
Name : cookie cookie Expire: 有效期限結束的時間
Path: 有效目錄
Domain: 有效域名,頂級或唯一
Secure: 如果值為1,則cookie只能在https連接上有效,如果為預設值0,http和https都可以

Php設定cookie

$value = 'something from somewhere';


setcookie(“TestCookie”, $value); /* 簡單cookie設定*/

setcookie(“TestCookie”, $value, time()+36000); /* 有效期限1小時*/

setcookie(“TestCookie”, $value, time()+3600, “/~rasmus/”, “.example.com”, 1); /* 有效目錄/~rasmus,有效網域example.com及其所有子網域*/
?>
使用header()設定cookie;
header(“Set-Cookie: name=$value[;path=$path[;domain=xxx.com[; ] ]”);
後面的參數和上面列出setcookie函數的參數一樣.

Cookie的機制原理:

a) 伺服器透過隨著回應發送一個http的Set-Cookie頭,在客戶機中設定一個cookie(多個cookie要多個頭).

b) 用戶端自動向伺服器端發送一個http的cookie頭,伺服器接收讀取.
HTTP/1.x 200 OK
X-Powered-By: PHP/5.2.1
Set-Cookie: TestCookie=something from somewhere; path=/
Expires: Thu, 19 Nov 2007 18:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-type: text/html

這一行實現了cookie功能,收到這行後

Set-Cookie: TestCookie=something from somewhere; path=/

瀏覽器將在客戶端的磁碟上建立一個cookie檔,並在裡面寫入:
TestCookie=something from somewhere;
/
這一行就是我們用setcookie('TestCookie','something from somewhere','/');的結果.也就是用header('Set-Cookie: TestCookie=something from somewhere; path=/');的結果.
6,PHP面向對像中的訪問控制
Public 表示全局,類內部外部子類都可以訪問
Private 表示私有,只有本類內部可以呼叫
Protected 表示受保護的,只有本類或子類或父類可以訪問

7,什麼是PHP的MVC,MVC的作用及原理

MVC是一個設計模式,它強制性的使應用程式的輸入,處理,輸出分開,使用MVC應用程式本分成了三個核心部分:模型,視圖,控制器,它們各自處理自己的任務。


MVC的原理:首先控制器接受用戶的請求,並決定應該調用用哪個模型來進行處理,然後模型用業務邏輯來處理用戶的請求並返回數據,然後控制器用相應的視圖格式化模型返回的數據,並透過表示層呈現給使用者。

基本原理:表現層(V)的請求傳送到控制器(C),控制器根據請求類型呼叫業務層(M),最終呼叫表現層顯示。

8,PHP中include require 的區別
這兩個結構在處理失敗之外有不同,include產生一個警告,而require則導致一個致命的錯誤,換句話說,如果你想在遇到丟失文件時停止處理頁面就用require。 Include就不是這樣,腳本會繼續執行。
Require的使用方法如require(“Myfile.php”); 這個表格式通常放到PHP程式的最前面,PHP執行前,就會讀入require所指定引入的檔案,使它變成PHP程式網頁的一部分。
Include使用方法和上面相同,這個程式一般放到流程控制的處理區段,php程式網頁在讀到include的檔案時,才將它讀進來,這種方式,可以把程式執行時的流程簡單化。

當頁面執行到require()時,如果require是一個PHP、HTML頁面的話,這時就會馬上轉到去執行該頁面了。而include,一般是用於include進來一些inc檔。比如說可以將你的網站的頁頭和頁首當作一個inc文件,這樣在每個PHP文件裡面再include進來。 include實際上只是將你要include的檔案嵌入到當前頁面當中。而require則是馬上去執行你所要求的頁面。
——————————————————————————–
incluce在用到時加載
require在一開始就加載
_once後綴表示已加載的不載入
php系統在載入php程式時有一個偽編譯過程,可使程式運行速度加快。但incluce的文檔仍為解釋執行
include的文件中出錯了,主程式繼續往下執行
require的文件出錯了,主程式也停了
所以包含的文件出錯對系統影響不大的話(如界面文件)就用include,否則用require
include_once()函數,require_once()函數會先檢查目標檔案的內容是不是在之前就已經導入過了,如果是的話,便不會再重複導入同樣的內容

10,計算兩個時間差2009.5.12 2009.5.20
$regist1 = “05/12/2006″;
$regist2 = “10/05/2007″;
list($month1,$day1,$year1)$ (“/”,$regist1);
list($month2,$day2,$year2)= explode(“/”,$regist2);
$regist1 = mktime(0,0,0,$month1,$day1, $year1);
$regist2 = mktime(0,0,0,$month2,$day2,$year2);
$time_difference = $regist2-$regist1;

11,你了解的協定有哪些? HTTP協定的錯誤提示代表什麼?
SMTP(Simple Mail Transfer Protocal)稱為簡單郵件傳輸協議,目標是向用戶提供高效、可靠的郵件傳輸。
POP的全名為Post Office Protocol ,即郵局協議,用於電子郵件的接收,它使用TCP的110端口,現在常用的是第三版,所以簡稱為POP3
IMAP是Internet Message Access Protocol的縮寫,顧名思義,主要提供的是透過Internet獲取資訊的一種協定。
HTTP(HyperTextTransferProtocol)是超文本傳輸協定的縮寫,它用於傳送WWW方式的數據,關於HTTP協定的詳細內容請參考RFC2616。
IE提示 HTTP 403 – 禁止存取
IE提示 HTTP 403.9 – 禁止存取:連接的使用者過多
IE提示 HTTP 404 – 無法找到檔案
IE提示 HTTP 500 – 內部伺服器錯誤

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
可以在PHP會話中存儲哪些數據?可以在PHP會話中存儲哪些數據?May 02, 2025 am 12:17 AM

phpsessionscanStorestrings,數字,數組和原始物。

您如何開始PHP會話?您如何開始PHP會話?May 02, 2025 am 12:16 AM

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

什麼是會話再生,如何提高安全性?什麼是會話再生,如何提高安全性?May 02, 2025 am 12:15 AM

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

使用PHP會話時有哪些性能考慮?使用PHP會話時有哪些性能考慮?May 02, 2025 am 12:11 AM

PHP会话对应用性能有显著影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHP會話與Cookie有何不同?PHP會話與Cookie有何不同?May 02, 2025 am 12:03 AM

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用