實戰php
① php典型模塊與項目實戰大全:PHP能做什麼
PHP能做什麼
PHP初學者的一個主要疑問就是 PHP能用來做什麼?按照PHP手冊上的經典解釋就是 PHP能做任何事!
下面為讀者具體的介紹PHP主要的應用領域 PHP是運行於服務端的腳本程序 因此可以用其完成任何CGI(Common Gateway Interface)程序能夠完成的工作 CGI工作流程如圖 所示 CGI主要用於完成在B/S(Browser/Server)模式下的應用開發 例如 動態頁面輸出 獲取表單數據 創建或接收Session/Cookies
圖 CGI工作流程示意圖
PHP主要應用於以下 個領域
服務端腳本
伺服器腳本運行模式需要具備 個條件 PHP解析器(CGI或者伺服器模塊) Web伺服器 Web瀏覽器
具體執行流程 首先運行Web伺服器 然後安裝並配置PHP 最後可以用Web瀏覽器訪問PHP程序的輸出 即瀏覽服務端的PHP頁面(或數據輸出)
命令行腳本
通過命令行模式運行PHP腳本 這種模式下不需要伺服器的支持或者依賴瀏覽器的觸發 在命令行腳本模式下僅需要PHP解析器來執行 通常這種方法被用在Windows和Linux平台下做日常運行腳本使用 如某些守護程序等 當然這些腳本也可以用來處理簡單的文本
編寫桌面應用程序
PHP也許並不完全適合用來做圖形界面應用程序 但是開發人員同樣可以在客戶端程序應用某些PHP的高級特性 通過使用PHP GTK來編寫這些程序 PHP GTK是PHP的一個擴展 並不包含在標準的開發包中 開發人員需要單獨編譯它 通過PHP GTK可以建立獨立的GUI(用戶圖形界面)應用程序 例如 音頻播放器 文本編輯器 資料庫後台等
返回目錄 PHP典型模塊與項目實戰大全
編輯推薦
Java Web開發詳解
PHP Web開發學習實錄
lishixin/Article/program/PHP/201311/21535
② PHP典型模塊與項目實戰大全的內容簡介
《php典型模塊與項目實戰大全》以實戰開發為原則,以php典型模塊和項目開發為主線,通過12個高質量的php典型模塊和6個php大型應用,向讀者揭示了web開發的整體結構,並詳盡地介紹php開發與建站的技術要點。
《php典型模塊與項目實戰大全》附帶1張dvd,內容是作者為本書錄制的全程多媒體語音教學視頻及本書所涉及的源代碼。
《php典型模塊與項目實戰大全》共22章,分為3篇。第1篇是php開發基礎,涵蓋的內容有web開發基礎、開發環境的安裝與配置、php語言參考、php簡單實例;第2篇為典型模塊開發與應用,涵蓋的內容有留言板模塊、注冊及登錄驗證模塊、上傳與下載模塊、內容採集器模塊、日程表模塊、聊天室程序、計費系統模塊、充值平台模塊、在線調查模塊、wap資訊模塊、廣告管理模塊、文件管理器模塊;第3篇為項目開發實戰,涵蓋的內容有內容管理系統、娛樂聯播軟體、寶藏游戲、圖片交易平台、在線購物平台、joomla擴展開發與快速建站。
《php典型模塊與項目實戰大全》內容全面、深入,既是優秀的學習教程,也可用作參考手冊。書中的大量實例和深入分析均來自於作者多年的實際工作經驗,對於解決開發人員在實際開發中所面臨的各種問題有重要的借鑒意義。本書適合各層次的php程序員、愛好者和web開發人員閱讀。
作譯者回到頂部↑本書提供作譯者介紹
楊宇 開源愛好者。曾參與並領導多個大型互聯網項目。在Web開發、MySQL資料庫開發、負載均衡、分布式部署方案、大規模高並發系統設計等領域有豐富的架構設計及項目管理經驗。現任某互聯網公司副總經理兼技術總監。
③ PHP典型模塊與項目實戰大全:客戶端數據存儲機制cookie[1]
客戶端數據存儲機制cookie
在實際的Web應用中經常需要在客戶端存儲一些客戶信息 一方面是為了改善用戶體驗(如存儲訪問密碼 歷史表單信息) 另一方面有效地減輕了伺服器數據讀取壓力 訪問者在第一次訪問頁面時設置cookie變數是存儲在客戶端計算機中 當下次瀏覽器請求某個頁面時 就可以讀取cookie中存儲的值 從而廳中實現客戶端數據存取
下面將通過一個例子展示一個客戶端數據存儲的實際應用 執行流程如下
( )創建一個存儲訪問者名字的cookie;
( )當訪問者首次訪問網站時 訪問者會被要求填寫姓名信息 該姓名信息會存儲於cookie中
( )當訪問者再次訪問網站時瀏覽器會顯示歡迎詞信息
在JavaScript創建cookie
創建一個可在cookie變數中存儲訪問者姓名的函數 代碼如下
function setCookie(c_name value expiredays)
{
var exdate=new Date() //實例化日期變數
exdate setDate(exdate getDate()+expiredays) //設置日期變數
document cookie=c_name+ = +escape(value)+
((expiredays==null) ? : ;expires= +exdate toGMTString())
}
【代碼解讀】
setCookie()函數的功能是設置cookie的名稱 值及失效時間 首先將獲取當前的日期轉換為有效的日期 然後設置cookie名稱 值及失效時間 並將該值存入document cookie對象
從JavaScript取回cookie的值
從JavaScript取回cookie的值 創建讀取客戶端cookie值的函數 同時判斷當前cookie的狀態 代碼如下
function getCookie(c_name)
{
if (document cookie length> ) //判斷當前cookie是否為空
{
c_start=document cookie indexOf(c_name + = )
if (c_start!= )
{
c_startc_start=c_start + c_name length+
c_end=document cookie indexOf( ; c_start)
if (碧伏凱c_end== ) c_end=document cookie length
return unescape(document cookie substring(c_start c_end))
//返回客戶端cookie的值
悔喚}
}
return
}
【代碼解讀】
getCookie()函數首先會判斷document cookie對象中是否存有cookie 如果document cookie對象存有某些cookie值 那麼會繼續檢查指定的cookie是否已儲存 如果滿足判斷條件就返回cookie存儲值 否則返回空字元串
JavaScript流程式控制制
當完成了cookie的創建和讀取之後 需要創建一個流程式控制制函數 這個函數的作用是 如果cookie已設置 則顯示歡迎詞 否則顯示提示框要求用戶輸入名字
function checkCookie() {
username=getCookie( username ) //獲得cookie中的用戶名變數
if (username != null && username != ) {
alert( Wele again +username+ ! ) //彈出歡迎信息
} else {
username=prompt( Please enter your name: )
if (username != null && username != ) {
setCookie( username username ) //設置cookie
}
}
}
客戶端數據存儲示例的完整代碼如下
lishixin/Article/program/PHP/201311/21526
④ PHP典型模塊與項目實戰大全:PHP文件下載的原理及實現
PHP文件下載的原理及實現
通常文件下載過程是十分簡單的 建立一個鏈接指向到目標文件就可以了 例如下面的鏈接
<a href=// xxx /xxx rar>點擊下載文件</a>
但是 實際情況可能會稍復雜 比如需要用戶填寫完整注冊信息後才可以下載該文件 這時最先想到的是使用Redirect的方式 下面介紹兩種方式
( )用Redirect方式 先檢查表格是否已經填寫完畢和完整 然後將鏈接指到該文件 這樣用戶就可以下載 請看下面的示例代碼
<?php
/*文件功能 檢查變數form是否完整*/
if($form){
//重新定向瀏覽器指向
Header( Location: // // xxx /xxx rar )
exit;
}
?>
( )根據下載文件的序號來查找 鏈接的形式如下
<a href= // xxx /download php?id= >點擊下載文件</a>
上面的鏈接使用ID方式接收要下載文件的編號 然後再用Redirect的方式連接到真實的文件鏈接
以上這兩種方法雖然實現了文件的下載功能 但是缺點是直接暴露了文件所屬的路徑 而且沒有防盜鏈的功能 所以上面的方式是簡單直接但存在安全隱患的文件下載方式 在PHP中 通常是利用header()函數和fread()函數來實現安全的文件下載
例如 需要下載的是一個文件名為xxx rar的文件 首先創建文件是download php的PHP文件 通過前面的例子很容易通過文件的ID號從資料庫中得到待下載文件的真實位置 在獲得文件的真實存儲位置後 可缺培悉以通過header()函數的location參數直接重定向到這個文件 但是這樣仍然是不安全的 因為某些下載軟體還是可以通過重定向分析獲得該文件的位置信息 因此需要用另外一種方法 就是PHP的文件處理API函數 它是通過fread()函數把文件直接輸出到瀏覽器提示用戶下載 這樣所有的處理都是在伺服器端完成的 因此用戶就無法獲得文件具體存儲位置信息的 示例代碼如下
<?
$file_name = xxx rar ; //下載文件名
$file_dir = /up/ ;中纖 //下載文件存放目錄
//檢查文件是否存在
if (! file_exists ( $file_dir $file_name )) {
echo 文件找不到 ;
exit ()
} else {
//打開文件
$file = fopen ( $file_dir $file_name r )
//輸入文件標簽
Header ( Content type: application/octet stream )
Header ( Accept Ranges: bytes )
Header ( Accept Length: filesize ( $file_dir $file_name ) )
Header ( Content Disposition: attachment; filename= $file_name )
//輸出文件內容
//讀取文件內容並直接輸出到瀏覽器
echo fread ( $file filesize ( $file_dir $file_name ) )
fclose ( $file )
exit ()
}
?>
【代碼解讀】
上述代碼中 程序發送Header信息是用來告訴Apache和瀏覽器下載文件的相關信息的 content type的含義代表文件MIME類型是文件流格式 如果在Apache配置裡面把文件的MIME類型設為application/octet stream(如add application/octet stream xxx rar) 那麼瀏覽器(客戶端伏乎)就會知道 這是一個文件流格式的文件並提示用戶下載 Accept Ranges是一個響應頭標 它允許伺服器指明將在給定的偏移和長度處 為資源組成部分的接受請求 該頭標的值被理解為請求范圍的度量單位 Content Length是指定包含於請求或響應中數據的位元組長度 例如 Content Length: Content Disposition:attachment是用來告訴瀏覽器 文件是可以當做附件被下載 下載後的文件名稱為$file_name該變數的值
運行download php文件 效果如圖 所示 從圖中可以看到文件按照預想的方式被提示下載 單擊 保存 按鈕將文件保存在本地
圖 PHP文件安全下載
返回目錄 PHP典型模塊與項目實戰大全
編輯推薦
Java Web開發詳解
PHP Web開發學習實錄
lishixin/Article/program/PHP/201311/21519
⑤ PHP開發實戰權威指南的內容簡介
《PHP開發實戰權威指南》主要介紹了PHP 5編程的相關知識。主要內容包括PHP基礎知識與XHTML、PHP環境搭建與工具、PHP的基本語法、PHP中的數組、PHP面向對象編程、字元串處理與正則表達式、PHP文件系統處理、MySQL資料庫、資料庫抽象層——PDO和ADOdb、Cookie和Session、PHP的模板技術Smarty、PHP圖形處理及應用、PHP與XML、PHP與cURL、PHP功能模塊的開發、項目開發與設計以及OA管理系統開發等。
《PHP開發實戰權威指南》既適合作為PHP初中級學者的參考書,也適合作為高等院校相關專業、軟體學院的教材。
光碟提供如下內容:
專業教學視頻100集:PHP100中文網提供的專業教學視頻100集。
精緻教學PPT 100講:專業級教學PPT文件100講。
精選源碼90套:含近年PHP100論壇資源和下載區精品源碼90套。
PHP開發必備手冊14本:含PHP開發過程中常用手冊14本,包括最新的PHP5.3手冊等。
美工素材3000多個:分為三大部分,即Flash、特效、圖標,共計3000多個資源和詳細分類。
開發必備工具14種:含14種最新PHP環境搭配、開發、服務工具。
經典源碼6套:學習中少不了研究源碼,本書特意推薦了一些比較經典的PHP源碼。