PHP 5完全攻略

出版時(shí)間:2010-5  出版社:杜江 電子工業(yè)出版社 (2010-05出版)  作者:杜江  頁(yè)數(shù):659  
Tag標(biāo)簽:無(wú)  

前言

讀著杜江先生的新作,讓我想起了八、九年前,在我所服務(wù)的單位——美國(guó)Yahoo!總部的一些經(jīng)歷。那時(shí)候,還是互聯(lián)網(wǎng)的迅速發(fā)展階段,Yahoo!還是個(gè)不到一千人的新興公司,正從各地招兵買(mǎi)馬,壯大充實(shí),以和當(dāng)時(shí)的勁敵美國(guó)在線、Lycos等力拼。在早期互聯(lián)網(wǎng)公司松散的管理下,各個(gè)部門(mén)各自為政,除了操作系統(tǒng)基本上是FreeBSD、Web Server主要是Apache以外,其他就要看各部門(mén)主力工程師的個(gè)人偏好了,于是百花齊放,Perl、C/C++、Java都有人用,更是有Yahoo!內(nèi)部開(kāi)發(fā)的所謂HTML Forms和HF2K的腳本語(yǔ)言。我那時(shí)候負(fù)責(zé)Yahoo Everywhere部分開(kāi)發(fā)及全球部署工作,職責(zé)就是把Yahoo!的各種服務(wù)WML化,讓人們用手機(jī)上網(wǎng)、在世界各地也能輕松享用Yahoo!的各項(xiàng)產(chǎn)品。那時(shí),除了和電信運(yùn)營(yíng)商、手機(jī)廠商打交道,最多的時(shí)間就是花在和Yahoo!內(nèi)各部門(mén)的工程師協(xié)調(diào)、合作,以及了解、銜接他們的系統(tǒng)。  相比之下,現(xiàn)時(shí)的互聯(lián)網(wǎng)工程師是比較幸運(yùn)的?;旧?,開(kāi)發(fā)一個(gè)網(wǎng)站項(xiàng)目,在工具、架構(gòu)的選擇上已是沒(méi)有什么懸念,除了微軟或Java那一套,就是所謂的LAMP(Linux、Apache、MySQL、PHP)模式了。畢竟這個(gè)模式不但完全免費(fèi),而且身經(jīng)百戰(zhàn),被Yahoo!、新浪等大型網(wǎng)站廣為采用。還記得當(dāng)年(應(yīng)該是2001年吧),雅虎美國(guó)總部為了整治公司內(nèi)部系統(tǒng)的混亂,彌補(bǔ)自身腳本語(yǔ)言的不足,為長(zhǎng)期持續(xù)的發(fā)展建立可以持續(xù)的基礎(chǔ),很明智地在公司各部門(mén)統(tǒng)一推廣了PHP的使用。這一舉措也為PHP日后的壯大起到了一定的推動(dòng)作用。不過(guò),也因?yàn)檫@樣,在前人的努力累積的碩果上,再加上互聯(lián)網(wǎng)搜索信息快速方便,養(yǎng)成了許多工程師的惰性。這個(gè)現(xiàn)象在中國(guó)感覺(jué)尤為嚴(yán)重。有了LAMP的架構(gòu),又隨時(shí)可以搜到各種問(wèn)題的開(kāi)源解答,許多工程師或管理人員就把網(wǎng)站建設(shè)不當(dāng)回事,也不深究,不求甚解。要知道,要把一個(gè)網(wǎng)站搭建起來(lái),的確可以是一個(gè)很簡(jiǎn)單的事,但是,要做大,要做好,要做到英文里各種所謂“bilities”(maintainability、flexibility、extensibility、availability、reliability、scalability)的境界,很多東西是要深入了解,細(xì)細(xì)琢磨的。這就是為什么我常強(qiáng)調(diào),希望我的合作伙伴都是“工程師”,而非簡(jiǎn)單的“程序員”。 杜江先生就是我曾共事過(guò)的高級(jí)工程師之一。他寫(xiě)的這本《PHP 5與MySQL 5完全攻略》可以說(shuō)同時(shí)兼顧到了“工程師”和“程序員”兩種讀者的需求。 這本600多頁(yè)的參考書(shū)既有許多針對(duì)日常會(huì)遇到的問(wèn)題、案例,提供可直接應(yīng)用上的答案,又有深入的、循序漸進(jìn)的描述、解析了PHP 5及MySQL 5的技術(shù)細(xì)節(jié),是一本值得推薦給所有以PHP、MySQL為基礎(chǔ)搭建網(wǎng)站的工程師與程序員的好書(shū)。

內(nèi)容概要

  《PHP 5完全攻略》是目前第一本真正介紹PHP 5及MySQL 5新增語(yǔ)法與功能的中文版本權(quán)威寶典!  《PHP 5完全攻略》本著精、全、要三宗旨,從理論中延伸,從實(shí)踐中深入,翔實(shí)并完善地描述了PHP 5的開(kāi)發(fā)特性與MySQL 5數(shù)據(jù)庫(kù)。本書(shū)分為兩大部分,第1部分主要闡述PHP開(kāi)發(fā)的基礎(chǔ)知識(shí),如PHP數(shù)組與表單處理、PHP 5面向?qū)ο箝_(kāi)發(fā)、Ajax、CLI、字符流處理、加密技術(shù)、圖片處理及PHP代碼優(yōu)化,以及存儲(chǔ)過(guò)程、游標(biāo)、事務(wù)等進(jìn)階內(nèi)容;書(shū)中第2部分的開(kāi)發(fā)實(shí)例是作者開(kāi)發(fā)的原創(chuàng)作品,該部分內(nèi)容不僅會(huì)令讀者的開(kāi)發(fā)水平有所增進(jìn),而且可在案例的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā),做出符合自己業(yè)務(wù)的網(wǎng)站系統(tǒng)?!  禤HP 5完全攻略》既可作為初學(xué)者或剛剛從其他語(yǔ)言轉(zhuǎn)做PHP開(kāi)發(fā)的程序員和軟件工程師的學(xué)習(xí)參考書(shū),也可作為掌握PHP 5的進(jìn)階應(yīng)用及高級(jí)知識(shí)的案上學(xué)習(xí)指南。

作者簡(jiǎn)介

  PHP開(kāi)發(fā)專家。精通PHP5、Ajax、Java、Perl、XML/XSLT,SQLServer,Oracle,MySQL及搜索引擎技術(shù),UNIX-FreeBSD/Liunx平臺(tái)。 東北大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),工學(xué)學(xué)士。中國(guó)第一本原創(chuàng)熱銷技術(shù)圖書(shū)《PHP5與MySQL5 Web開(kāi)發(fā)技術(shù)詳解》作者。

書(shū)籍目錄

第1部分 PHP 5基礎(chǔ)第一篇 PHP 5基礎(chǔ)知識(shí)第1章 PHP 5概述 31.1 什么是PHP  31.1.1 PHP的歷史 31.1.2 PHP的優(yōu)點(diǎn) 41.1.3 PHP的精神 51.1.4 PHP與Web 2.0 61.2 PHP 5的新特性 71.2.1 新的面向?qū)ο竽J?71.2.2 新的面向?qū)ο筇匦?71.2.3 其他新特性 111.2.4 PHP 5.3新特性 121.2.5 MySQL 5.1新特性 121.3 PHP 5的擴(kuò)展庫(kù) 131.3.1 XML擴(kuò)展 131.3.2 SPL 141.3.3 MySQLi擴(kuò)展 151.3.4 PDO數(shù)據(jù)庫(kù)抽象層 151.3.5 JSON擴(kuò)展 151.4 PHP 5外部擴(kuò)展庫(kù) 151.4.1 PECL擴(kuò)展 151.4.2 PEAR擴(kuò)展 161.5 PHP 5的其他更新 161.5.1 Zend引擎2.x 161.5.2 新的內(nèi)存管理器 161.5.3 Zend Optimizer與Zend Core 171.6 PHP與WEB服務(wù)器 171.6.1 Apache 171.6.2 Microsoft IIS 171.6.3 其他Web服務(wù)器 181.7 PHP 5安裝與配置 181.7.1 Win32平臺(tái)下Apache環(huán)境安裝 181.7.2 Win32平臺(tái)下IIS環(huán)境安裝 351.7.3 使用集成化安裝包 381.7.4 FreeBSD平臺(tái) 391.7.5 Linux平臺(tái) 451.8 PHP配置與初步優(yōu)化 481.9 其他需注意的問(wèn)題 481.10 PHP開(kāi)發(fā)工具 491.11 小結(jié) 54第2章 PHP 5開(kāi)發(fā)基礎(chǔ) 552.1 PHP初相遇 552.2 幾個(gè)技術(shù)點(diǎn) 562.2.1 PHP語(yǔ)句 572.2.2 空格與空行 572.2.3 注釋 572.2.4 函數(shù)調(diào)用 582.3 變量與變量名 582.4 變量的賦值 592.5 變量的引用賦值 592.6 PHP的數(shù)據(jù)類型 602.7 標(biāo)量數(shù)據(jù)類型 602.7.1 整型 602.7.2 浮點(diǎn)型 602.7.3 字符串型 612.7.4 布爾型 612.8 復(fù)合數(shù)據(jù)類型 612.8.1 數(shù)組 612.8.2 對(duì)象 622.9 特殊數(shù)據(jù)類型 632.9.1 NULL 632.9.2 資源 632.10 變量打印與輸出 642.10.1 使用echo函數(shù) 642.10.2 使用print函數(shù) 642.10.3 echo和print的區(qū)別 642.10.4 使用printf函數(shù) 652.10.5 使用sprintf函數(shù) 652.10.6 顯示數(shù)組與對(duì)象 662.11 變量操作符 672.11.1 算術(shù)運(yùn)算符 672.11.2 賦值操作符 682.11.3 字符串連接 682.11.4 字符串換行連接 682.11.5 花括號(hào)的作用 692.11.6 單引號(hào)與雙引號(hào) 702.11.7 HereDoc 702.11.8 轉(zhuǎn)義操作符 712.11.9 格式控制符 712.11.10 遞增與遞減操作符 722.11.11 三元操作符 722.11.12 比較運(yùn)算符 732.11.13 布爾運(yùn)算符 742.11.14 位操作符 752.12 數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換 762.13 數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換 772.13.1 轉(zhuǎn)換為整型數(shù)據(jù) 782.13.2 用intval()函數(shù)取整 782.13.3 轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù) 782.13.4 轉(zhuǎn)換為布爾型數(shù)據(jù) 792.13.5 轉(zhuǎn)換為字符串型數(shù)據(jù) 792.13.6 轉(zhuǎn)換為數(shù)組 792.13.7 轉(zhuǎn)換為對(duì)象 802.14 超級(jí)全局?jǐn)?shù)組 802.14.1 $_SERVER超級(jí)全局變量數(shù)組 812.14.2 修改全局?jǐn)?shù)組的值 842.15 變量與腳本處理 842.15.1 使用isset()函數(shù)檢測(cè)變量定義 842.15.2 使用unset()函數(shù)刪除變量 852.15.3 使用empty()函數(shù)檢測(cè)變量值是否為空 852.15.4 其他檢測(cè)類函數(shù)族 852.16 常量 852.16.1 定義常量 862.16.2 PHP魔術(shù)常量 862.17 PHP的控制結(jié)構(gòu) 872.17.1 分支結(jié)構(gòu)語(yǔ)句 872.17.2 循環(huán)結(jié)構(gòu)語(yǔ)句 922.18 包含控制語(yǔ)句 972.18.1 include與require 972.18.2 include_once與require_once 982.18.3 eval() 982.18.4 中止腳本的執(zhí)行:exit()與die() 992.19 函數(shù) 992.19.1 函數(shù)的命名 1002.19.2 函數(shù)的結(jié)構(gòu) 1002.19.3 從函數(shù)中返回值 1012.19.4 函數(shù)參數(shù)的傳遞 1022.19.5 函數(shù)與全局變量 1062.19.6 函數(shù)的靜態(tài)變量 1072.19.7 函數(shù)中使用常量 1082.19.8 遞歸函數(shù) 1092.19.9 解決函數(shù)重名的方法 1092.20 可變變量 1102.21 字符串操作 1102.21.1 手動(dòng)轉(zhuǎn)義字符串?dāng)?shù)據(jù) 1102.21.2 自動(dòng)轉(zhuǎn)義字符串?dāng)?shù)據(jù) 1112.21.3 數(shù)值轉(zhuǎn)換字符串 1122.21.4 字符串序列化 1122.21.5 清理字符串中的空格 1132.21.6 格式化字符串 1142.21.7 字符串切分 1142.21.8 字符串截取 1152.21.9 計(jì)算字符串的長(zhǎng)度 1152.21.10 字符串單詞統(tǒng)計(jì) 1162.21.11 字符串查找 1172.21.12 字符串處理 1182.22 日期與時(shí)間 1232.22.1 UNIX時(shí)間戳 1232.22.2 日期函數(shù) 1242.22.3 時(shí)間函數(shù) 1272.23 網(wǎng)絡(luò)相關(guān)處理 1302.23.1 header()函數(shù) 1302.23.2 處理URL字符串 1322.23.3 獲得PHP環(huán)境信息 1342.24 其它操作符 1352.24.1 @-錯(cuò)誤抑制符 1352.24.2 執(zhí)行外部命令 1352.25 小結(jié) 136第3章 正則表達(dá)式 1373.1 正則表達(dá)式簡(jiǎn)介 1373.2 正則表達(dá)式功能 1373.3 POSIX正則表達(dá)式 1383.3.1 ^和$定位符 1383.3.2 POSIX量詞 1383.3.3 方括號(hào)表達(dá)式 1393.3.4 預(yù)定義字符簇 1403.3.5 POSIX正則表達(dá)式函數(shù) 1403.4 PCRE正則表達(dá)式函數(shù) 1423.4.1 PCRE字符類 1423.4.2 PCRE匹配 1423.4.3 PCRE正則表達(dá)式函數(shù) 1433.5 正則表達(dá)式VS函數(shù) 1493.6 創(chuàng)建BBCODE 1493.7 小結(jié) 150第4章 PHP數(shù)組 1514.1 什么是數(shù)組 1514.2 數(shù)組的類型 1524.2.1 數(shù)字索引數(shù)組 1524.2.2 關(guān)聯(lián)數(shù)組 1524.3 數(shù)組的構(gòu)造 1534.3.1 一維數(shù)組 1534.3.2 二維數(shù)組與多維數(shù)組 1544.3.3 多維數(shù)組 1594.4 快速創(chuàng)建數(shù)組 1614.4.1 使用range()函數(shù) 1614.4.2 為數(shù)組追加數(shù)據(jù) 1624.4.3 修改數(shù)組內(nèi)容 1624.5 訪問(wèn)和處理數(shù)組內(nèi)容 1624.5.1 數(shù)字索引數(shù)組排序 1624.5.2 關(guān)聯(lián)數(shù)組排序 1634.5.3 數(shù)組隨機(jī)抽取shuffle()和array_rand() 1644.5.4 統(tǒng)計(jì)數(shù)組元素出現(xiàn)的次數(shù) 1654.5.5 數(shù)組聯(lián)合array_combine 1664.5.6 數(shù)據(jù)合并array_merge 1664.5.7 查找數(shù)組中鍵名是否存在 1674.5.8 查找數(shù)組值是否存在 1684.5.9 計(jì)算數(shù)組中數(shù)值元素的和 1694.5.10 去除數(shù)組中重復(fù)的元素值 1694.5.11 移動(dòng)數(shù)組內(nèi)部指針 1704.5.12 取得關(guān)聯(lián)數(shù)組的鍵名 1704.5.13 訪問(wèn)數(shù)組的鍵名和元素 1704.5.14 判斷數(shù)組的類型 1714.5.15 顯示數(shù)組內(nèi)容與結(jié)構(gòu) 1714.5.16 移除數(shù)組中的指定元素 1734.5.17 在數(shù)組頂部插入元素 1744.5.18 在數(shù)組任意位置插入元素 1744.5.19 數(shù)組元素的統(tǒng)計(jì)count()函數(shù)和sizeof()函數(shù) 1754.5.20 數(shù)組鍵名與值的對(duì)調(diào)array_flip()函數(shù) 1754.5.21 對(duì)數(shù)組元素分組統(tǒng)計(jì)array_values()函數(shù) 1764.5.22 刪除數(shù)組首末尾元素 1774.5.23 刪除數(shù)組中任意位置的元素 1774.5.24 將數(shù)組內(nèi)容導(dǎo)出為變量extract()函數(shù) 1794.6 數(shù)組遍歷(使用FOREACH) 1804.6.1 一維索引數(shù)組的遍歷 1804.6.2 一維關(guān)聯(lián)數(shù)組的遍歷 1814.7 使用FOR語(yǔ)句對(duì)數(shù)組遍歷 1824.8 使用FOR語(yǔ)句實(shí)現(xiàn)樹(shù)狀菜單 1824.9 數(shù)組遍歷LIST()和EACH() 1844.10 數(shù)組復(fù)位RESET()函數(shù) 1854.10.1 each() 1854.10.2 list() 1854.11 FOREACH與FOR語(yǔ)句對(duì)數(shù)組處理的比較 1864.12 數(shù)組內(nèi)容過(guò)濾 1864.13 小結(jié) 188第二篇 PHP 5核心應(yīng)用與規(guī)范第5章 表單——處理用戶輸入 1905.1 表單與HTML 1905.2 表單與PHP 1905.3 表單設(shè)計(jì) 1915.3.1 文本框 1915.3.2 密碼文本框 1915.3.3 單選項(xiàng) 1925.3.4 復(fù)選項(xiàng) 1925.3.5 下拉列表 1935.3.6 表單屬性 1945.3.7 提交與復(fù)位按鈕 1945.4 GET與POST方法 1955.4.1 使用GET方法 1955.4.2 使用POST方法 1995.4.3 POST方法和GET方法混合使用 2005.4.4 POST方法和GET方法的區(qū)別 2025.4.5 選擇POST還是GET 2025.5 動(dòng)態(tài)生成表單 2025.6 表單的處理方法 2055.6.1 檢查表單提交的來(lái)源 2055.6.2 一個(gè)完整表單處理 2065.7 其他處理表單的方法 2085.7.1 使用import_request_variables()函數(shù) 2085.7.2 使用extract()函數(shù) 2095.8 多頁(yè)面間傳遞數(shù)據(jù) 2105.9 驗(yàn)證表單數(shù)據(jù) 2105.9.1 客戶端驗(yàn)證 2105.9.2 服務(wù)器端驗(yàn)證 2115.9.3 避免表單重復(fù)提交 2115.9.4 表單過(guò)期的處理 2135.9.5 判斷表單動(dòng)作的技巧 2135.10 表單安全 2145.10.1 處理全局性錯(cuò)誤 2145.10.2 預(yù)防SQL注入 2175.11 開(kāi)發(fā)安全的代碼 2185.11.1 用戶輸入驗(yàn)證 2185.11.2 高級(jí)數(shù)據(jù)驗(yàn)證:使用ctype 2185.11.3 數(shù)據(jù)過(guò)濾 - PECL filter擴(kuò)展 2195.11.4 input_get()函數(shù) 2205.11.5 路徑檢測(cè) 2215.11.6 魔法引用magic_quotes_gpc 2215.11.7 其他高效的解決方案 2215.12 小結(jié) 222第6章 PHP加密技術(shù) 2236.1 MD5算法 2236.2 SHA-1算法 2236.3 CRACKLIB擴(kuò)展庫(kù) 2246.4 MCRYPT擴(kuò)展與DES算法 2246.4.1 mcrypt加密擴(kuò)展 2256.4.2 mcrypt加密模式 2256.4.3 mcrypt初始化向量 2266.4.4 mcrypt加密與解密方法 2276.5 小結(jié) 228第7章 PHP國(guó)際化與本地化 2297.1 I18N和L10N 2297.2 字符集與編碼 2297.2.1 ASCII字符集 2307.2.2 ISO-8859字符集 2307.2.3 ANSI編碼 2307.2.4 GB2312與GBK編碼 2307.2.5 Unicode字符集 2317.2.6 正確使用文件編碼 2327.3 GETTEXT擴(kuò)展庫(kù) 2327.3.1 設(shè)置gettext 2337.3.2 php_gettext函數(shù)集 2337.3.3 編寫(xiě)I18N程序 2337.3.4 設(shè)置gettext po文件 2347.4 系統(tǒng)本地化函數(shù)族 2367.4.1 setlocale()函數(shù) 2367.4.2 貨幣值本地化 2377.4.3 使用pc_format_currency( )函數(shù) 2387.5 ICONV()函數(shù) 2397.6 MBSTRING擴(kuò)展庫(kù) 2407.6.1 使用mbstring進(jìn)行字符串截取 2407.6.2 檢測(cè)字符串編碼 2417.6.3 mbstring轉(zhuǎn)換編碼 2417.7 小結(jié) 242第8章 PHP開(kāi)發(fā)規(guī)范 2438.1 代碼結(jié)構(gòu) 2438.1.1 一個(gè)腳本服務(wù)全部 2438.1.2 分離顯示邏輯 2448.2 良好的編碼風(fēng)格與樣式 2448.2.1 代碼注釋 2458.2.2 代碼縮進(jìn) 2468.2.3 使用必要的空格 2468.2.4 SQL編寫(xiě)規(guī)范 2478.2.5 控制結(jié)構(gòu) 2478.2.6 函數(shù)的命名 2478.2.7 類命名規(guī)范 2488.2.8 減少出錯(cuò)的技巧 2488.3 小結(jié) 249第9章 PHP 5面向?qū)ο箝_(kāi)發(fā) 2509.1 面向?qū)ο蠡A(chǔ) 2509.2 PHP 5 面向?qū)ο缶幊谈攀?2519.2.1 類的封裝 2519.2.2 類的繼承 2519.3 對(duì)象 2519.4 創(chuàng)建和使用類 2529.5 類的結(jié)構(gòu)與定義 2529.6 成員方法 2529.7 成員變量與屬性 2539.8 $THIS關(guān)鍵字 2549.9 構(gòu)造方法 2549.10 析構(gòu)方法 2569.11 類的繼承與多態(tài) 2569.11.1 類的繼承——extends 2569.11.2 數(shù)據(jù)的隱藏 2589.11.3 訪問(wèn)成員變量的約束 2589.11.4 設(shè)置訪問(wèn)成員方法 2599.11.5 類常量 2609.11.6 靜態(tài)成員變量 2609.11.7 靜態(tài)成員方法 2629.12 對(duì)象傳遞 2629.13 克隆一個(gè)對(duì)象——CLONE 2639.14 對(duì)象的比較 2639.15 對(duì)象類型的檢測(cè)——INSTANCEOF 2649.16 克隆一個(gè)成員方法 2649.17 類的多態(tài)性 2659.18 PARENT::與SELF::關(guān)鍵字 2679.19 抽象方法與抽象類 2679.20 接口的實(shí)現(xiàn) 2699.21 實(shí)現(xiàn)多個(gè)接口 2709.22 FINAL方法 2729.23 FINAL類 2729.24 例外與異常處理 2739.25 方法中聲明類的類型 2749.26 重載與多態(tài) 2759.27 魔術(shù)方法 2759.27.1 _ _get()與_ _set()方法 2759.27.2 _ _call()方法 2769.27.3 _ _sleep()與_ _wakeup()方法 2779.27.4 _ _toString()方法 2779.27.5 _ _autoload()方法 2789.28 類映射API REFLECTION 2799.29 小結(jié) 286第10章 PHP會(huì)話管理 28710.1 概述 28710.2 COOKIE管理 28710.2.1 什么是Cookie 28810.2.2 Cookie工作原理 28810.2.3 Cookie應(yīng)用開(kāi)發(fā) 28810.2.4 一個(gè)通用的Cookie類 29210.2.5 解決方案 29310.3 SESSION管理 29410.3.1 什么是Session 29410.3.2 Session配置 29510.3.3 Session應(yīng)用 29710.3.5 Session編碼與解碼 30010.3.6 Session中保存數(shù)組 30010.3.6 Session中保存對(duì)象 30110.3.7 Session存取優(yōu)化 30310.3.8 多服務(wù)器下共享Session 30410.3.9 Session安全 30710.4 小結(jié) 308第11章 PHP輸入輸出緩沖 30911.1 緩沖技術(shù)簡(jiǎn)介 30911.2 從緩沖讀取內(nèi)容 31011.3 使用回調(diào)函數(shù) 31111.4 輸出回調(diào)函數(shù) 31111.5 壓縮內(nèi)容輸出 31211.6 小結(jié) 312第12章 文件系統(tǒng)與字符流 31312.1 文件與路徑 31312.1.1 分析一個(gè)文件的名稱與擴(kuò)展名 31312.1.2 利用PHP自帶函數(shù)分析當(dāng)前路徑 31412.1.3 顯示相對(duì)路徑的真實(shí)路徑 31412.2 文件類型與相關(guān)信息 31412.2.1 filesize()——計(jì)算文件的大小 31512.2.2 取得文件的建立、最后訪問(wèn)與更新時(shí)間 31512.2.3 fileperms()——文件屬性以及權(quán)限 31512.2.4 取得文件所有者(Owner) 31512.3 文件的順序讀寫(xiě) 31512.3.1 文件打開(kāi)與寫(xiě)入 31512.3.2 文件輸出 31712.3.3 讀取文件內(nèi)容 31812.4 文件的非線性讀寫(xiě) 31812.4.1 fseek()函數(shù) 31912.4.2 ftell()函數(shù) 31912.4.3 rewind()函數(shù) 31912.4.4 parse_ini_file()函數(shù) 32012.5 自定義日志記錄 32112.6 目錄和磁盤(pán)操作 32112.6.1 disk_free_space()——統(tǒng)計(jì)某個(gè)目錄的剩余空間 32112.6.2 disk_total_space()——顯示邏輯磁盤(pán)的容量 32212.6.3 getcwd()/chdir()函數(shù) 32212.6.4 opendir()與readdir()函數(shù) 32212.6.5 實(shí)現(xiàn)iterator接口的目錄讀取 32312.7 字符流 32412.7.1 流與封裝器的原理 32512.7.2 PHP 5的預(yù)置流包裝器 32512.7.4 流與封裝器的應(yīng)用 32612.7.5 Filter過(guò)濾器及其應(yīng)用 32812.7.6 流相關(guān)函數(shù) 33012.7.7 創(chuàng)建自己的流過(guò)濾器 33112.8 取得HTTPS加密內(nèi)容 33212.9 創(chuàng)建自己的流封裝器 33312.10 小結(jié) 334第三篇 MySQL 5與PHP 5接口第13章 WEB數(shù)據(jù)庫(kù)設(shè)計(jì) 33613.1 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)的概念 33613.2 數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟 33713.3 表名與字段名規(guī)則 33813.4 小結(jié) 339第14章 MYSQL 5數(shù)據(jù)庫(kù) 34014.1 MYSQL簡(jiǎn)介 34014.2 MYSQL 5特性 34114.2.1 MySQL 5優(yōu)點(diǎn) 34114.2.2 MySQL 5缺點(diǎn) 34114.2.3 MySQL 5性能 34114.3 MYSQL數(shù)據(jù)庫(kù)存儲(chǔ)類型 34214.4 MYSQL字段類型 34314.5 MYSQL字符集與整理 34414.5.1 MySQL 5字符集支持的原理 34414.5.2 修改MySQL字符集方法 34414.6 MYSQL 5應(yīng)用與管理 34514.6.1 登錄到MySQL 34514.6.2 修改root管理密碼 34614.6.3 創(chuàng)建數(shù)據(jù)庫(kù) 34614.6.4 改變數(shù)據(jù)庫(kù)存儲(chǔ)路徑 34614.6.5 MySQL權(quán)限系統(tǒng) 34714.6.6 phpMyAdmin管理工具 35014.7 MYSQL管理工具 35714.8 小結(jié) 357第15章 MYSQL數(shù)據(jù)庫(kù) 35815.1 MYSQL操作與SQL 35815.2 檢索表中的數(shù)據(jù) 36115.2.1 SELECT 語(yǔ)句 36115.2.2 SELECT的聚集函數(shù) 36215.2.3 結(jié)果集排序 36215.2.4 函數(shù) 36215.2.5 關(guān)聯(lián)查詢 36215.3 高級(jí)SQL技術(shù) 36415.3.1 主鍵 36415.3.2 子查詢 36515.3.3 聯(lián)合查詢 36515.4 MYSQL事務(wù)處理與觸發(fā)器 36515.4.1 存儲(chǔ)進(jìn)程 36515.4.2 觸發(fā)器(trigger) 36615.4.3 視圖 36615.4.4 PHP與MySQL字符集 36715.5 小結(jié) 368第16章 PHP與MYSQL 36916.1 PHP5與MYSQL連接的MYSQL擴(kuò)展 36916.2 數(shù)據(jù)庫(kù)查詢 37016.3 其他顯示記錄集的函數(shù) 37216.4 PHP 5與MYSQL的新接口MYSQLI 37516.5 智能選擇MYSQL擴(kuò)展 38416.6 小結(jié) 387第17章 PHP數(shù)據(jù)庫(kù)抽象層 38817.1 什么是數(shù)據(jù)庫(kù)抽象層 38817.2 常用的數(shù)據(jù)庫(kù)抽象層 38917.2.1 PEAR:DB 38917.2.2 ADODB 39017.2.3 Metabase 39017.2.4 MDB 39117.2.5 MDB2 39117.2.6 Creole 39217.2.7 PDO 39217.2.8 PHPLib 39217.3 PDO數(shù)據(jù)庫(kù)抽象類 39217.3.1 PDO簡(jiǎn)介 39217.3.2 PDO的安裝 39317.3.3 PDO連接數(shù)據(jù)庫(kù) 39317.3.4 使用PDO查詢 39417.3.5 錯(cuò)誤與異常處理 39517.3.6 取得查詢結(jié)果 39717.4 ADODB 40117.4.1 使用ADODB 40117.4.2 ADODB安裝 40217.4.3 啟動(dòng)ADODB 40217.4.4 ADODB的查詢方法 40317.4.5 移動(dòng)記錄集 40317.4.6 使用ADODB生成HTML 40417.4.7 使用ADODB進(jìn)行分頁(yè) 40417.4.8 生成下拉選擇菜單 40417.4.9 ADODB開(kāi)發(fā)實(shí)例 40417.5 PHPLIB 41617.5.1 使用PHPLib查詢 41617.5.2 創(chuàng)建GetAll方法 41817.6 小結(jié) 419第四篇 PHP 5進(jìn)階與技巧第18章 SMARTY與模板技術(shù) 42118.1 MVC簡(jiǎn)介 42118.2 模板系統(tǒng) 42218.3 SMARTY概述 42218.3.1 Smarty的優(yōu)點(diǎn) 42218.3.2 Smarty開(kāi)發(fā)特性 42318.4 安裝SMARTY 42318.5 SMARTY開(kāi)發(fā)基礎(chǔ) 42518.5.1 第一個(gè)模板程序 42518.5.2 編譯后的模板 42618.5.3 Smarty區(qū)塊 42718.5.4 Smarty注釋 42718.5.5 Smarty變量與變量格式化 42718.6 SMARTY的控制結(jié)構(gòu) 43018.6.1 IF分支結(jié)構(gòu) 43018.6.2 循環(huán)結(jié)構(gòu) 43218.6.3 Smarty生成表單元素 44018.6.4 Smarty文件包含 44218.7 SMARTY緩存 44318.8 深入SMARTY開(kāi)發(fā) 44418.8.1 register_function 44418.8.2 register_block 44418.8.3 register_modifier 44418.8.4 在模板內(nèi)運(yùn)行PHP代碼 44518.8.5 幾個(gè)重要的模板修飾符 44518.8.6 Smarty的保留變量 44618.8.7 模板配置文件 44718.8.8 Smarty工作臺(tái) 44718.8.9 Smarty生成靜態(tài)頁(yè)面 44818.8.10 制作在線日歷 44818.8.11 Smarty與ADODB 44918.9 小結(jié) 451第19章 PHP和AJAX技術(shù) 45219.1 AJAX簡(jiǎn)介 45219.2 AJAX特性 45319.3 XAJAX簡(jiǎn)介 45319.4 XAJAX如何工作 45319.5 異步更新內(nèi)容 45419.6 異步處理表單數(shù)據(jù) 45619.7 增加自定義功能 45719.8 解決亂碼 45719.9 SMARTY與XAJAX 45719.10 小結(jié) 459第20章 使用PHP編寫(xiě)SHELL 46020.1 簡(jiǎn)介 46020.2 PHP CLI SHELL腳本 46020.2.1 CLI 與CGI的區(qū)別 46020.2.2 CLI的配置參數(shù) 46020.3 PHP命令行接口(CLI) 46120.4 CLI命令選項(xiàng) 46220.5 CLI開(kāi)發(fā) 46320.6 CLI實(shí)際應(yīng)用 46720.7 小結(jié) 470第21章 PHP網(wǎng)絡(luò)開(kāi)發(fā) 47121.1 SOCKET技術(shù) 47121.1.1 Socket原理 47121.1.2 建立一個(gè)連接 47221.1.3 發(fā)送一個(gè)請(qǐng)求 47221.1.4 查詢Whois信息 47321.1.5 創(chuàng)建自己的Socket服務(wù)器 47421.2 電子郵件 47521.2.1 電子郵件簡(jiǎn)介 47521.2.2 MTA和SMTP 47521.2.3 PHP郵件配置 47621.2.4 電子郵件頭 47721.2.5 MIME 47721.3 使用MAIL()函數(shù) 47921.4 使用SOCKET發(fā)送郵件 48121.5 獲取遠(yuǎn)程內(nèi)容與自動(dòng)化 48221.5.1 使用CURL 48221.5.2 使用Snoopy類 48421.5.3 FTP操作 48621.5.4 PHP與網(wǎng)絡(luò)協(xié)議 48821.6 小結(jié) 488第22章 PHP文件上傳 48922.1 文件上傳簡(jiǎn)介 48922.2 處理上傳文件 49022.3 處理多文件上傳 49422.4 突破上傳的內(nèi)存限制 49622.5 小結(jié) 496第23章 圖片與媒體處理 49723.1 使用GD2擴(kuò)展庫(kù) 49723.1.1 打開(kāi)一張圖片 49823.1.2 打開(kāi)任意格式的圖片 49823.1.3 顯示和保存圖片 49923.1.4 圖片轉(zhuǎn)換 50023.1.5 創(chuàng)建文字圖片 50123.1.6 繪制圖形 50223.1.7 創(chuàng)建驗(yàn)證碼——CAPTCHA 50323.1.8 縮略圖片處理 50423.1.9 創(chuàng)建水印圖片 50623.2 使用MING擴(kuò)展創(chuàng)建FLASH 50823.2.1 創(chuàng)建按鈕 50823.2.2 靜態(tài)文字 50923.2.3 動(dòng)態(tài)文字 51023.2.4 繪制圖形 51123.2.5 使用圖片 51223.3 使用IMAGEMAGICK 51323.3.1 ImageMagick簡(jiǎn)介 51323.3.2 安裝ImageWand 51423.3.3 讀取圖片內(nèi)容 51423.3.4 讀取圖片尺寸 51523.3.5 圖片裁切 51523.3.6 生成圖片縮略圖 51523.3.7 轉(zhuǎn)換圖片格式 51623.3.8 控制圖片旋轉(zhuǎn) 51623.3.9 重新縮放圖片 51723.3.10 加入渲染效果 51723.3.11 壓縮JPEG圖片 51823.4 小結(jié) 518第24章 XML與RSS 51924.1 XML 51924.1.1 XML的結(jié)構(gòu)與定義 51924.1.2 XML與HTML 52024.2 創(chuàng)建與解析XML文檔 52124.2.1 創(chuàng)建一個(gè)XML文檔 52224.2.2 使用SAX解析XML 52324.2.3 DOM 52524.2.4 SimpleXML 52924.3 RSS聚合與解析技術(shù) 53024.3.1 RSS簡(jiǎn)介 53024.3.2 RSS 0.9 53024.3.3 RSS3 1.0 53124.3.4 RSS 2.0 53224.3.5 Atom 53424.4 XML READER 53624.5 XML與SMARTY 53724.6 小結(jié) 537第25章 WEB服務(wù)與SOAP 53825.1 WEB服務(wù) 53825.1.1 Web服務(wù)概述 53825.1.2 Web服務(wù)的特點(diǎn) 53925.2 SOAP的消息體 54025.2.1 SOAP封套(SOAP Envelope) 54025.2.2 SOAP頭(SOAP Header) 54025.2.3 SOAP錯(cuò)誤信息(SOAP Fault) 54025.2.4 消息體(SOAP Body) 54125.3 PHP中的SOAP配置 54125.4 使用PHP開(kāi)發(fā)SOAP應(yīng)用 54225.4.1 WSDL 54225.4.2 建立SOAP服務(wù)器端 54525.4.3 建立SOAP客戶端 54625.5 小結(jié) 546第26章 PHP與WAP技術(shù) 54726.1 WAP技術(shù)簡(jiǎn)介 54726.2 WAP配置 54726.3 WAP頁(yè)面 54826.3.1 WAP頁(yè)面簡(jiǎn)介 54826.3.2 WAP頁(yè)面跳轉(zhuǎn) 54826.3.3 使用WAP制作登錄頁(yè)面 55026.4 SMARTY與WAP 55426.5 小結(jié) 554第五篇 PHP 5調(diào)試、升級(jí)與優(yōu)化第27章 錯(cuò)誤與異常處理 55627.1 概述 55627.2 錯(cuò)誤的類型 55627.2.1 編程錯(cuò)誤 55627.2.2 未定義符號(hào) 55727.2.3 輕量級(jí)錯(cuò)誤 55927.2.4 PHP產(chǎn)生的錯(cuò)誤 56027.2.5 錯(cuò)誤與例外處理 56227.3 小結(jié) 567第28章 升級(jí)到PHP5 56828.1 簡(jiǎn)介 56828.2 對(duì)象的引用 56828.3 構(gòu)造對(duì)象 56928.4 GET_CLASS()函數(shù) 56928.5 IS_A()函數(shù)與INSTANCE OF 56928.6 E_STRICT 57028.6.1 自動(dòng)建立對(duì)象 57028.6.2 var與public 57028.7 其他兼容性的問(wèn)題 57028.7.1 命令行接口 57028.7.2 舊的超級(jí)全局?jǐn)?shù)組的升級(jí) 57028.7.3 函數(shù)修正與功能升級(jí) 57128.8 小結(jié) 571第29章 PHP優(yōu)化技巧 57229.1 PHP腳本級(jí)優(yōu)化 57229.1.1 require比require_once快 57329.1.2 不做重復(fù)的車輪 57329.2 使用代碼優(yōu)化工具 57429.3 緩存加速 57529.3.1 使用eAccelerator 57529.3.2 使用APC 57729.4 HTTP加速 57829.4.1 HTTP頭信息 57829.4.2 啟用GZIP內(nèi)容壓縮 57829.5 MYSQL性能優(yōu)化 57829.5.1 添加索引 57829.5.2 MySQL緩存與性能調(diào)優(yōu) 57929.6 MYSQL日志維護(hù) 58129.7 數(shù)據(jù)庫(kù)外部?jī)?yōu)化 58129.7.1 服務(wù)器硬件優(yōu)化 58129.7.2 磁盤(pán)優(yōu)化 58229.7.3 操作系統(tǒng)優(yōu)化 58229.8 使用反向代理 58229.9 APACHE服務(wù)器優(yōu)化 58329.10 內(nèi)容壓縮與優(yōu)化 58329.11 分布與負(fù)載均衡 58429.12 小結(jié) 586第2部分 實(shí)戰(zhàn)PHP5第30章 實(shí)例開(kāi)發(fā):會(huì)員 58930.1 概述 58930.2 頁(yè)面流程 58930.2.1 用戶注冊(cè)流程 58930.2.2 用戶登錄流程 59030.3 數(shù)據(jù)庫(kù)結(jié)構(gòu) 59030.4 UI與界面 59330.5 目錄結(jié)構(gòu)與文件說(shuō)明 595第31章 實(shí)例開(kāi)發(fā): 60331.1 目錄結(jié)構(gòu)與文件說(shuō)明 60331.2 頁(yè)面流程 60331.2.1 創(chuàng)建圈子 60331.2.2 管理圈子 60431.2.3 加入其他人創(chuàng)建的圈子 60531.3 數(shù)據(jù)庫(kù)結(jié)構(gòu) 60531.4 UI與界面 608第32章 實(shí)例開(kāi)發(fā):愛(ài)問(wèn)系統(tǒng) 61032.1 概述 61032.2 頁(yè)面流程 61032.3 目錄結(jié)構(gòu)與文件說(shuō)明 61232.4 UI與界面 61332.5 數(shù)據(jù)庫(kù)結(jié)構(gòu) 617第33章 實(shí)例開(kāi)發(fā):多用戶 61933.1 概述 61933.2 目錄結(jié)構(gòu)與文件說(shuō)明 61933.3 頁(yè)面流程 62033.4 UI與界面 62033.5 數(shù)據(jù)庫(kù)結(jié)構(gòu) 62133.6 小結(jié) 623附錄A PHP在線資源 592附錄B Zend Core安裝 593附錄C PHP擴(kuò)展開(kāi)發(fā) 599附錄D MySQL字符集與整理 601附錄E 代碼頁(yè)與Charset對(duì)照表 605附錄F php.ini配置詳解 606附錄G HTTP返回代碼表(RFC2068) 626

章節(jié)摘錄

插圖:

媒體關(guān)注與評(píng)論

對(duì)所有的PHPer來(lái)說(shuō),這是一本極好的書(shū)。杜江先生手持利刃,將PHP 5的主方面面給大家一一剖析,并輔以實(shí)例,一深入淺出,更淺顯易懂,因而本書(shū)很適合PHP初學(xué)者閱讀學(xué)習(xí),同時(shí)對(duì)PHP工作者來(lái)說(shuō),這也是一本非常有價(jià)值的案頭寶典。衷心祝愿每位讀者都能通過(guò)這本書(shū)掌握PHP這把利刃!  ——愛(ài)好者網(wǎng)技術(shù)總監(jiān) 喬楚PHP與MySQL已經(jīng)是一個(gè)世界流行的Web開(kāi)發(fā)黃金組合,杜江先生在書(shū)中結(jié)合了大量實(shí)際開(kāi)發(fā)  經(jīng)驗(yàn),由淺至I深,結(jié)合大量實(shí)例全方位闡述了PHP 5和MySQL 5。本書(shū)既是初學(xué)者全面學(xué)習(xí)和深入掌握PHP 5的教學(xué)材料,也可作為專業(yè)PHP工作者的參考手冊(cè),特向廣大PHPer推薦?!  ゲ┚W(wǎng)總工程師 馬明練感謝杜江先生為廣大PHP開(kāi)發(fā)者和愛(ài)好者帶來(lái)如此詳細(xì)且實(shí)用的書(shū)。趕集網(wǎng)是由PHP 5和MySQL 5開(kāi)發(fā)的,這其中有杜江先生工作的很多成果。希望這本書(shū)能讓更多喜愛(ài)PHP朋友更快更深入地掌握PHP,進(jìn)而涌現(xiàn)更多基礎(chǔ)扎實(shí)、功力深厚的PHP人才?!  s集網(wǎng)技術(shù)主管 李靜英才輩出,匯聚極品。杜江先生是在英極奮斗中的精英人才之一,有著豐富的項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn),PHP功底深厚,諳熟大型網(wǎng)部構(gòu)建,關(guān)于使用Open Source軟件構(gòu)建分布應(yīng)用。這本《PHP 5完全攻略》是他多年工作經(jīng)驗(yàn)的總結(jié),希望這本書(shū)能成為眾多PHP技術(shù)書(shū)中的不二之選。  ——英極軟件技術(shù)總監(jiān) 王昕宇

編輯推薦

《PHP 5完全攻略(暢銷書(shū)升級(jí)版)》:徹夜不眠的封閉開(kāi)發(fā),睡夢(mèng)中還在思考的業(yè)務(wù)聚合,除了加油努力,有時(shí)候我們忘了還要什么,那不僅是客戶端和服務(wù)器的腳泰,還有我們的真愛(ài),還有想要的生活,謹(jǐn)以《PHP 5完全攻略(暢銷書(shū)升級(jí)版)》獻(xiàn)給所有辛勤工作、努力學(xué)習(xí)的PHP開(kāi)發(fā)者。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    PHP 5完全攻略 PDF格式下載


用戶評(píng)論 (總計(jì)18條)

 
 

  •   沒(méi)有深度, 只說(shuō)一些很表面的東西.
  •   本來(lái)在圖書(shū)館借來(lái)看的,還了之后索性買(mǎi)了一本,作為參考書(shū),隨手翻翻還是很不錯(cuò)的
  •   剛拿到這本書(shū)時(shí),第一感覺(jué)就是大。在翻看目錄時(shí),可以感覺(jué)的到它絕不是入門(mén)類的書(shū)。和市場(chǎng)上許許多多的《……從入門(mén)到精通》類書(shū)籍完全不同。推薦!推薦!
  •   好評(píng),書(shū)很厚,內(nèi)容很多,什么時(shí)候才能看完?
  •   不錯(cuò)的一本書(shū)。在眾多的php書(shū)里,能夠講得清楚地不多,在很多的國(guó)外書(shū)翻譯過(guò)來(lái)都已經(jīng)不知道在講什么。另外,這本書(shū)比較適合中國(guó)人閱讀,詳略得當(dāng),不會(huì)把每一個(gè)細(xì)節(jié)都講,給讀者自我發(fā)揮的空間。另外,這本書(shū)中有一些思想,就是除了語(yǔ)法外,還滲透了一些php的架構(gòu),使讀者能真正讀懂php。
  •   書(shū)其實(shí)寫(xiě)得非常的不好,內(nèi)容松散
  •   內(nèi)容全面,是本學(xué)習(xí)的好資料。
  •   適合初學(xué)者和開(kāi)發(fā)者做為工具書(shū)使用,講解很詳細(xì)很基礎(chǔ)
  •   這本書(shū)很厚很重,比大辭典還重,不過(guò)這本書(shū)從最基本講起,后面還有幾個(gè)實(shí)例,從網(wǎng)上可以下到源代碼,還是不錯(cuò)的,如果新手從開(kāi)始學(xué)的話還是值得學(xué)習(xí)的
  •   在書(shū)店翻了各種PHP入門(mén)書(shū)籍之后最終買(mǎi)了這本。內(nèi)容很詳細(xì),php在開(kāi)發(fā)中常用的技術(shù)和應(yīng)用都有涉及到,寫(xiě)得也比較清晰易懂。絕對(duì)滴php入門(mén)首選!
  •   不錯(cuò)啊,真不錯(cuò),很不錯(cuò)!
  •   書(shū)本架構(gòu)很合理。適合有一定基礎(chǔ)的php開(kāi)發(fā)用戶。
  •   紙質(zhì)一般,至于內(nèi)容,粗略的翻了前幾張,基礎(chǔ)部分講的不如同類書(shū)籍詳細(xì),所舉的例子中有錯(cuò)誤,不過(guò),如果閱讀對(duì)象不是對(duì)于任何程序語(yǔ)言都沒(méi)有涉及的新手,那么那些錯(cuò)誤應(yīng)該不妨礙閱讀。
  •   可以系統(tǒng)地學(xué)習(xí)PHP了
  •   內(nèi)容詳盡,值得購(gòu)買(mǎi)
  •   還行吧,就是光盤(pán)沒(méi)了。。難怪便宜了這么多
  •   對(duì)說(shuō)初學(xué)者來(lái)說(shuō)這本書(shū)很不錯(cuò)!
  •   適合php初學(xué)者
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7