作者:潘凱華、劉欣等
圖書詳細信息:ISBN:9787302272045
定價:59.8元
印次:1-1
裝幀:平裝
印刷日期:2011-12-29圖書簡介:
本書以PHP基礎知識結構為框架,講解各部分知識所對應的常見開發疑難問題,並進行透徹地解析。內容包括PHP開發規範與入門要點、PHP基礎、Web技術、資料庫操作、日期和時間處理、圖形圖像處理、檔案與目錄操作、面向對象的程式設計、資料庫抽象層、Ajax技術、XML技術、PDF技術、PHP與多媒體技術、Smarty模板、THINKPHP框架和PHP項目開發技巧。
本書所涉及的疑難問題都是一線開發人員在實際項目中經常遇到的,針對這些問題給出了解決方案,並進行了技術上的解析。讀者通過對本書的學習,能夠提高實際解決問題的能力。
本書提供了源程式、素材,提供了相關的模組庫、案例庫、素材庫、題庫等多種形式的輔助學習資料,還提供迅速及時的微博、QQ、論壇等技術支持。
本書內容詳盡,實例豐富,非常適合作為零基礎學習人員的學習用書和大中專院校師生的學習教材,也適合作為相關培訓機構的師生和軟體開發人員的參考資料。
程式設計師在求職時,經常會被問到有關開發經驗的問題,例如“從事了多少年的開發”、“參與了哪些大型項目”等。為何面試官對項目經驗豐富的求職者青睞有加?究其根源在於程式開發是一門實踐性非常強的學科,正所謂“紙上得來終覺淺,絕知此事要躬行”。編程經驗是程式開發者在實踐中積累的技術資源庫,其中包括各種習慣用法、知識理論、代碼片段、套用技巧等。而編程高手一般也是站在前人的肩膀上,分析別人的代碼而有所領悟,或者借鑑他人的經驗技巧形成自己的技能,在認識錯誤與解決問題中進步。這也是每個編程者的必由之路。
本書匯集了一線開發人員常見的300個PHP編程疑難問題,每個問題都給出了詳細的解答與點評,圖文並茂,難易並舉,通過本書的學習,相信讀者可以盡享前人的開發經驗,迅速提升個人的開發能力。
本書內容
本書以PHP基礎知識結構為框架,給出了每部分知識中可能遇到的疑難問題或開發技巧。全書共分為16章,具體包括:PHP開發規範與入門要點、PHP基礎、Web技術、資料庫操作、日期和時間處理、圖形圖像處理、檔案與目錄操作、面向對象的程式設計、資料庫抽象層、Ajax技術、XML技術、PDF技術、PHP與多媒體技術、Smarty模板、ThinkPHP框架和PHP項目開發技巧。
為了更清晰地闡述問題和給出問題的解決方案,本書設定了以下欄目。
? 問題闡述
對問題進行詳細闡述,對複雜問題給出問題產生的條件,並對問題中需要解決的部分做出說明。
? 專家解答
根據具體問題進行具體分析,給出問題的正確答案及解題思路,並提供該問題涉及的技術知識。
? 專家點評
對問題及解答做出總結,為以後再出現類似問題提供解決思路,並給出此問題需要注意的事項和對該問題的一些拓展。
本書特色
? 貼近套用
本書精選的疑難問題都是在實際項目開發中經常遇到的問題,可以解決讀者在編程中可能遇到的疑惑。
? 橫向連結
本書知識框架與《PHP快速入門及項目實戰》一書相對應,讀者可以在使用《PHP快速入門及項目實戰》一書進行基礎學習之後,再使用本書豐富並提高技能。
? 解析透徹
本書對每個問題的相關知識進行細緻地講解,並進行知識拓展,使讀者不僅知其然,而且知其所以然。
? 授人以漁
本書在講解技術的同時還注重對讀者能力的培養,幫助讀者提高分析問題與解決問題的能力。
本書配套資源
本書提供了內容豐富的配套資源包括:源程式、素材,以及模組庫、案例庫、題庫、素材庫等多項輔助內容,讀者朋友可以通過如下方式獲取。
第1種方式:
(1)登錄清華大學出版社的網站,在網頁右上角的搜尋文本框中輸入本書書名(注意區分大小寫和留出空格),或者輸入本書關鍵字,或者輸入本書ISBN號(注意去掉ISBN號間隔線“-”),單擊“搜尋”按鈕。
(2)找到本書後單擊超連結,在該書的網頁下側單擊“網路資源”超連結,即可下載。
第2種方式:
訪問本書的新浪微博PHPbook,找到配套資源的連結地址進行下載。
讀者人群
本書非常適合以下人員閱讀:
? 從事PHP語言編程行業的開發人員
? 有一定語言基礎,想進一步提高技能的人員
? 大中專院校的老師和學生
? 即將走上工作崗位的大學畢業生
? 相關培訓機構的老師和學員
? PHP編程愛好者
第1章 PHP開發規範與入門要點 1
問題1 如何在Windows下配置PHP開發
環境? 2
問題2 如何在Linux下配置PHP開發
環境? 7
問題3 如何搭建IIS+PHP+MySQL
環境? 13
問題4 PHP集成開發環境的特點有
哪些? 21
問題5 如何套用AppServ搭建PHP開發
環境? 22
問題6 如何通過XAMPP配置PHP開發
環境? 25
問題7 XAMPP——Linux版PHP集成化
安裝包 26
問題8 Apache配置檔案全解 27
問題9 PHP.INI配置檔案全解 28
問題10 Apache不能處理PHP檔案 30
問題11 無法找到httpd.h檔案 31
問題12 Apache不能啟動的解決方法 31
問題13 如何解決Apache伺服器連線埠
衝突? 31
問題14 如何配置Apache虛擬主機? 32
問題15 如何動態載入擴展庫? 33
問題16 register_globals(註冊為全局
變數)的開啟與關閉 33
問題17 為什麼要設定時區? 34
問題18 如何在Dreamweaver中創建
站點? 35
問題19 如何使用Dreamweaver開發PHP
程式? 37
問題20 如何使用Dreamweaver識別
.phtml的模板檔案? 39
問題21 如何在Windows下安裝和配置
PHPMYADMIN? 40
問題22 如何在Linux下安裝和配置
phpMyAdmin? 41
問題23 如何套用phpMyAdmin修改數據
庫的用戶名和密碼? 42
問題24 如何套用phpMyAdmin創建數據
庫與數據表? 43
問題25 如何套用phpMyAdmin導入和
導出MySQL資料庫
腳本? 44
問題26 如何打開magic_quotes_gpc來
防止SQL注入? 46
問題27 如何對錯誤提示信息進行
控制? 46
問題28 如何記錄錯誤日誌? 47
問題29 如何解決使用MySQL函式
導致Apache(IIS)崩潰的
問題? 48
問題30 HTTP Apache錯誤代碼都有
哪些?分別代表什麼含義? 48
第2章 PHP基礎 51
問題31 提高編程效率的24招 52
問題32 為什麼頁面之間無法傳遞
變數? 53
問題33 為什麼Win32下Apache2用get
方法傳遞中文參數會出錯? 54
問題34 如何從文本中移除空白內容? 55
問題35 如何獲取上傳檔案的後綴? 56
問題36 如何實現貨幣數據的格式化
輸出? 56
問題37 如何解決用SUBSTR()函式對中
文字元串截取時的亂碼? 57
問題38 如何獲取多個數組元素的鍵名? 58
問題39 為什麼$array[str]錯了? 58
問題40 如何設定PHP的錯誤級別? 59
問題41 PHP有哪幾種注釋形式? 60
問題42 如何使用empty()函式判斷文本
框是否為空? 62
問題43 如何使用strlen()函式計算文本
長度? 63
問題44 如何使用copy()函式對檔案進行
複製? 64
問題45 如何在瀏覽器中直接輸出圖像?
(fgetc()函式) 64
問題46 如何關閉危險函式? 65
問題47 如何將數組中的元素合成
字元串? 66
問題48 如何解決使用empty檢查函式
返回結果時報錯? 66
問題49 如何使用mb_substr函式截取
中文字元串? 67
問題50 如何解決PHP無法執行system()
函式的問題? 67
問題51 如何對查詢關鍵字進行
描紅? 68
問題52 如何對字元串與HTML進行
轉換? 69
問題53 如何禁止違禁詞語? 71
問題54 如何對字元串進行分割及
連線? 72
問題55 如何將IP位址轉換成對應的
數字? 74
問題56 如何創建新型字元串? 75
問題57 如何對字元串進行加密解密? 76
問題58 如何比較字元串的大小? 77
問題59 如何獲取上傳檔案的擴展名? 77
問題60 如何控制頁面中輸出字元串的
長度? 79
問題61 如何定義上傳檔案的名稱? 81
問題62 如何通過字元串截取控制圖像
驗證碼的輸出? 83
問題63 如何打亂字元串中字元的
順序? 84
問題64 如何對字元串進行大小寫
轉換? 85
問題65 函式strstr()、stristr()、strpos()、
strrchr() 的區別是什麼? 86
問題66 if和switch語句有何區別? 88
問題67 如何防止頁面出現中文亂碼? 88
第3章 Web技術 90
問題68 如何列印指定框架中的內容? 91
問題69 如何使用框架嵌套技術居中顯示
框架頁? 92
問題70 如何為文本框設定唯讀屬性? 95
問題71 如何實現自動計算金額? 95
問題72 如何實現複選框中的全選、反選
和不選? 96
問題73 如何對上傳的圖片進行預覽? 98
問題74 如何製作在頁面右下角彈出
漸顯的廣告視窗? 100
問題75 判斷表單動作的技巧有
哪些? 101
問題76 如何使用JS腳本獲取、輸出
標籤內容? 101
問題77 如何控制客戶端COOKIE? 102
問題78 COOKIE套用的注意事項有
哪些? 102
問題79 SESSION和COOKIE的區別有
哪些? 103
問題80 如何使用SESSION? 104
問題81 如何結束所有SESSION? 105
問題82 如何阻止瀏覽器快取頁面? 105
問題83 如何控制頁面背景的列印? 106
問題84 如何實現文字滑動效果? 107
問題85 如何實現自動登錄? 108
問題86 如何統計用戶線上時間? 111
問題87 如何限制用戶訪問網站的
時間? 112
問題88 如何掌控登錄用戶的許可權? 113
問題89 如何讓SESSION永久有效? 115
問題90 SESSION購物車 116
問題91 header()函式都有哪些功能? 119
第4章 資料庫操作 122
問題92 MySQL資料庫開發常識有
哪些? 123
問題93 MySQL的常用命令有哪些? 124
問題94 MySQL數據存儲引擎innodb
和MyISAM的優勢及區別有
哪些? 125
問題95 如何在MySQL中實現多關鍵字
查詢? 127
問題96 如何在MySQL中修改用戶密碼
和創建許可權用戶? 128
問題97 在MySQL中兩種索引Hash與
B-Tree的區別是什麼? 129
問題98 套用PHP操作MySQL資料庫時
應該注意哪些問題? 130
問題99 套用PHP向MySQL插入數據時,
如何避免產生亂碼? 131
問題100 MySQL常見錯誤代碼有
哪些? 132
問題101 在MySQL中,如何實現多表
查詢? 134
問題102 在MySQL中,如何實現內
連線查詢? 135
問題103 在MySQL中,如何實現外
連線查詢? 136
問題104 在MySQL中,如何實現嵌套
查詢? 137
問題105 如何連線遠程MySQL
伺服器? 138
問題106 如何實現MySQL資料庫的
雙機熱備份? 140
問題107 解決MySQL語句錯誤的最佳
方案是什麼? 142
問題108 如何執行數據的批量添加? 145
問題109 如何規範地定義數據表中的
欄位名稱? 146
問題110 如何查詢指定時間段的
數據? 147
問題111 如何按月查詢統計數據? 148
問題112 如何實現在刪除數據前給予提示
信息? 148
問題113 如何查詢日期型數據? 150
問題114 如何使用左連線(left outer join)
查詢數據? 150
問題115 如何使用右連線(right outer join)
查詢數據? 151
問題116 如何對統計結果進行排序? 152
問題117 如何使用聚集函式SUM對
學生成績進行匯總? 153
問題118 如何使用聚集函式MIN求
利潤最少的商品? 154
問題119 如何使用聚集函式MAX求
銷售利潤最高的商品? 155
問題120 如何使用INSERT(s1,x,len,s2)
函式替換指定字元? 155
問題121 如何使用UPPER(s)、UCase(s)
函式將字母變成大寫? 156
問題122 如何利用CSS樣式實現分頁
列印? 157
問題123 如何使用RTRIM(s)函式去掉
字元串結尾處的空格? 159
問題124 MySQL資料庫的備份和
恢復 160
問題125 如何在MySQL中創建存儲
過程? 162
問題126 如何將Access數據導入
SQL Server資料庫中? 164
問題127 如何解決PHP不支持SQL
Server的問題? 166
問題128 如何連線帶密碼的Access
資料庫? 166
問題129 MySQL和Server 2000資料庫
中數據類型的轉換 167
問題130 PHP如何連線SQL Server
資料庫? 169
第5章 日期和時間處理 171
問題131 如何獲得當前日期? 172
問題132 如何知道是星期幾? 172
問題133 如何獲得一個月份的天數? 173
問題134 如何在MySQL中存儲
日期? 173
問題135 如何使用MySQL時間戳? 174
問題136 如何實現倒計時? 175
問題137 如何計算程式的運行時間? 176
問題138 如何獲取當前系統時間? 177
問題139 如何實現網頁提醒功能? 178
第6章 圖形圖像處理 180
問題140 如何創建縮略圖? 181
問題141 如何防止圖像被盜鏈? 182
問題142 在PHP中如何激活和禁止
GD2函式館? 184
問題143 如何在照片上寫文字? 184
問題144 在GD2函式館中,如何輸出
中文字元串? 185
問題145 如何套用GD2函式為圖片添加
圖像水印? 187
問題146 如何套用GD2函式生成帶有
干擾的圖像驗證碼? 188
問題147 如何通過圖像顯示密碼安全
強度? 189
問題148 如何從圖像中提取EXIF
信息? 191
問題149 如何套用JQuery和jpgraph製作
動態折線圖? 193
問題150 如何通過Jpgraph類庫輸出中文
字元串? 198
問題151 如何製作數字圖像驗
證碼? 200
問題152 如何製作中文圖像驗
證碼? 202
問題153 如何實現驗證碼在當前頁
驗證? 203
問題154 如何任意調整圖片的大小? 204
第7章 檔案與目錄操作 207
問題155 如何限制上傳檔案的大小? 208
問題156 如何判斷上傳檔案是否符合
要求? 211
問題157 如何通過header()函式進行
下載? 211
問題158 如何實現多檔案同時上傳? 213
問題159 如何判斷檔案的許可權? 214
問題160 如何獲取磁碟分區的大小? 215
問題161 如何遍歷指定目錄下的所有
檔案? 217
問題162 如何套用fopen()函式的選擇
模式? 218
問題163 如何鎖定檔案? 220
問題164 如何訪問遠程檔案? 220
問題165 如何讀取本地檔案? 221
問題166 如何使用檔案句柄? 223
問題167 如何在檔案中存儲配置
信息? 224
問題168 如何在PHP中創建壓縮的
RAR檔案? 225
問題169 如何在PHP中對RAR檔案
進行解壓? 226
問題170 如何將文本檔案中的數據存儲
到資料庫中? 227
問題171 如何判斷一個遠程的檔案是否
存在? 230
問題172 如何將上傳檔案轉換成RAR
檔案? 230
問題173 如何遍歷、刪除指定目錄下的
所有檔案? 231
問題174 如何使用文本檔案統計網站
訪問量? 234
第8章 面向對象的程式設計 237
問題175 為什麼要面向對象? 238
問題176 構造方法和析構方法有什麼
不同? 238
問題177 為什麼要封裝? 240
問題178 如何繼承一個類? 241
問題179 抽象類與接口的區別是
什麼? 243
問題180 如何封裝一個項目工具類? 244
問題181 如何將購物車中的功能封裝到
購物車類中? 247
問題182 如何製作柱形圖繪製類? 252
問題183 如何製作折線圖繪製類? 253
問題184 如何製作餅形圖繪製類? 255
問題185 如何封裝驗證碼類? 256
第9章 資料庫抽象層 261
問題186 什麼是PDO? 262
問題187 如何安裝PDO? 262
問題188 如何通過PDO訪問
資料庫? 263
問題189 如何通過PDO讀取數據表中
的數據? 265
問題190 如何解決SQL查詢中的
錯誤? 267
問題191 如何向資料庫中添加或修改
數據? 270
問題192 如何保護Web站點免受SQL
注入攻擊? 271
問題193 如何獲得受影響的行數? 273
問題194 如何進行事務處理? 274
問題195 如何利用PDO使用存儲
過程? 275
問題196 如何利用PDO連線
Oracle 11g? 278
問題197 如何封裝PDO資料庫連
接類? 279
問題198 如何封裝PDO資料庫操
作類? 280
問題199 如何封裝PDO分頁類? 282
問題200 如何封裝ADODB連線數據
庫類? 284
問題201 ADODB操作結果集的方法有
哪些? 287
問題202 ADODB中如何控制結果集的
存取方法? 290
問題203 如何一次連線兩個資料庫? 292
問題204 如何在ADODB中生成HTML
表格? 294
問題205 如何在ADODB中生成下拉
列表框? 295
問題206 一個小巧的分頁函式——ADODB_Pager() 296
問題207 如何通過事務處理機制保證
資料庫操作的完整性? 297
問題208 ADODB如何輸出系統中執行
的SQL語句? 299
問題209 ADODB如何套用errorMsg()
函式返回錯誤信息? 300
問題210 ADODB如何返回所有錯誤
信息? 301
問題211 如何將錯誤信息存儲於日誌
檔案中? 302
問題212 如何封裝ADODB運算元據
庫類? 304
問題213 如何封裝ADODB分頁類? 306
第10章 Ajax技術 309
問題214 Ajax不刷新頁面提交表單
數據 310
問題215 Ajax無刷新驗證用戶名是否
被占用 316
問題216 如何套用Ajax技術實現無
刷新下拉列表? 319
問題217 如何實現Ajax無刷新
分頁? 323
問題218 Ajax無刷新倒計時 326
問題219 如何讓Ajax中的方法熟悉兼容
各種不同的瀏覽器? 328
問題220 jQuery特效複選框的製作
方法 329
問題221 如何使用jQuery技術製作級聯
選單? 332
問題222 如何通過jQuery生成網頁
特效? 337
第11章 XML技術 343
問題223 如何處理XML中的數據刷新
的問題? 344
問題224 RSS 2.0都包括哪些元素? 344
問題225 如何創建支持RSS閱讀的
站點? 347
問題226 如何動態創建XML檔案? 350
問題227 如何動態讀取XML檔案? 352
問題228 如何查詢XML檔案中的
數據? 354
問題229 如何動態更新XML中的
數據? 356
問題230 如何動態刪除XML中的
數據? 358
問題231 如何通過jQuery讀取XML中的
數據? 360
第12章 PDF技術 363
問題232 如何創建簡單的PDF
文檔? 364
問題233 如何在PDF中插入圖片? 366
問題234 如何設定PDF文檔的頁眉與
頁腳? 367
問題235 如何在PDF文檔中繪製
表格? 368
問題236 如何在PDF文檔中輸出
中文? 370
問題237 如何實現PDF文檔下載? 371
第13章 PHP與多媒體技術 372
問題238 向Flash中傳遞參數 373
問題239 如何通過embed標籤播放
音樂? 375
問題240 如何通過object標籤播放
音樂? 376
問題241 如何實現線上音樂中歌詞同步
輸出? 377
問題242 什麼才是音樂線上播放的
關鍵? 380
問題243 (關閉網頁時)Ajax無刷新
刪除.m3u格式的檔案 381
問題244 如何將選定的音樂添加到播放
列表中? 382
問題245 如何判斷線上音樂檔案的地址
是否正確? 384
問題246 如何在網頁中播放FLV
檔案? 385
問題247 如何實現MP3線上點播? 386
第14章 Smarty模板 388
問題248 如何安裝和配置Smarty
模板? 389
問題249 如何將Smarty的配置方法封裝
到類中? 390
問題250 如何通過if語句判斷當前用戶
的許可權? 391
問題251 在Smarty模板中,如何生成
數字驗證碼? 393
問題252 在Smarty模板中,如何直接
定義CSS樣式? 395
問題253 在Smarty模板中,如何嵌入JavaScript腳本? 396
問題254 如何套用html_option函式向
下拉列表中添加列表項? 397
問題255 section語句套用的注意事項
有哪些? 400
問題256 如何通過section循環輸出
數據? 400
問題257 如何對Smarty模板中數據進行
分頁顯示? 402
問題258 在Smarty模板中,如何實現
日期、時間的格式化輸出? 405
問題259 在Smarty模板中,如何套用
正則表達式? 406
問題260 在Smarty模板中,如何對
關鍵字描紅? 408
問題261 在Smarty模板中,如何控制
輸出字元串的行寬? 409
問題262 如何套用register_object方法
註冊模板對象? 411
問題263 如何開啟網站頁面的快取? 414
問題264 如何判斷同一模板中的多個
快取檔案? 415
問題265 如何通過配置檔案定義
變數? 416
問題266 在Smarty模板中,如何截取
中文字元串? 417
問題267 在Smarty中如何進行
編碼? 419
問題268 如何在Smarty中定義註冊模板
函式? 421
問題269 如何在Smarty中設計
頁面? 424
問題270 如何在Smarty中製作
日曆? 426
問題271 如何套用Smarty+PDO完成
數據的分頁顯示? 428
第15章 ThinkPHP框架 433
問題272 什麼是ThinkPHP?有哪些
特點?在哪裡下載? 434
問題273 如何自動生成項目目錄? 436
問題274 ThinkPHP的命名規範有
哪些? 437
問題275 ThinkPHP創建項目的基本
流程是什麼? 438
問題276 如何套用ThinkPHP中的curd
操作用戶信息? 440
問題277 如何套用ThinkPHP實現用戶
登錄和數據分頁輸出? 445
問題278 如何套用驗證碼類和分頁類
完成用戶登錄和分頁輸出? 449
問題279 如何通過ThinkPHP中的擴展類
生成中文驗證碼? 452
問題280 如何實現傳遞查詢條件的
分頁? 453
問題281 如何套用ThinkPHP中的擴展類
上傳檔案? 456
問題282 ThinkPHP框架中的模板
引擎 459
第16章 PHP項目開發技巧 461
問題283 如何隱藏PHP檔案
擴展名? 462
問題284 如何在IIS伺服器中實現
UrlRewrite(偽靜態)
功能? 462
問題285 如何在Apache伺服器中實現UrlRewrite(偽靜態)
功能? 463
問題286 如何在分頁類中實現UrlRewrite
(偽靜態)功能? 465
問題287 在PHP中如何動態生成靜態
頁面? 468
問題288 如何套用Zend_mail傳送
郵件? 473
問題289 如何解決使用mail()函式傳送
郵件時的標題亂碼問題? 476
問題290 如何實現帶附屬檔案的郵件
傳送? 477
問題291 如何實現郵件群發? 479
問題292 自定義線上編輯器的製作 480
問題293 如何套用CKEditor網頁
編輯器? 483
問題294 如何利用WebBrowser列印
報表? 486
問題295 如何調用Word自動列印指定
格式的會議記錄? 487
問題296 如何將Web頁面中的數據導出
到Excel中並自動列印? 489
問題297 如何將查詢結果保存到
Word中? 491
問題298 如何將查詢結果保存到
Excel中? 492
問題299 如何實現線上支付(工商
銀行)? 493
問題300 如何實現線上支付(支付寶
支付)? 498