《PHP入门经典》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:李慧,高飞等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111419648
  • 页数:490 页
图书介绍:本书以初学者为核心,全面介绍了使用PHP进行程序开发的各种技术。在内容排列上由浅入深,让读者循序渐进掌握编程技术;在内容讲解上结合丰富的图解和形象的比喻,帮助读者理解“晦涩难懂”的技术;在内容形式上附有大量的提示、技巧、说明等栏目,夯实读者编程技术,丰富编程经验。

第一篇 基础知识篇 2

第1章 迈向PHP的第一步——PHP概述 2

1.1什么是PHP 2

1.2 PHP的特点 2

1.4 PHP程序员应具备的知识 4

1.5准备PHP的开发条件 4

1.5.1下载PHP及相关软件 4

1.5.2代码编辑工具 5

1.5.3下载PHP用户手册 6

第2章 磨刀不误砍柴工——PHP开发环境与工具 8

2.1 AppServ—— Windows版PHP集成化安装包 8

2.1.1用AppServ搭建PHP开发环境 8

2.1.2测试AppServ是否安装成功 10

2.2 XAMPP—— Linux版PHP集成化安装包 11

2.2.1用XAMPP搭建PHP开发环境 11

2.2.2在Linux操作系统下启动、停止XAMPP 12

2.2.3设置Linux版XAMPP中MySQL数据库root用户的密码 12

2.2.4在Linux操作系统下编写第一个PHP程序 13

2.3 PHP开发环境的关键配置信息 13

2.3.1 Apache服务器的基本配置 13

2.3.2 PHP.INI文件的基本配置 14

2.4解决PHP的常见配置问题 15

2.4.1解决Apache服务器端口冲突 16

2.4.2更改Apache服务器默认存储的文件路径 16

2.4.3在PHP.INI文件中更改上传文件的大小 16

2.4.4增加PHP扩展模块 17

2.4.5检测PHP是否支持MySQL数据库 17

2.5 Dreamweaver开发工具 18

2.5.1 Dreamweaver中编码格式的选择 18

2.5.2 Dreamweaver创建表格 19

2.5.3 Dreamweaver创建表单 21

2.5.4 Dreamweaver创建站点 23

2.5.5 Dreamweaver创建第一个PHP程序 24

2.6上机实践 26

2.6.1更改Apache服务器的端口号为82 26

2.6.2输出“I love PHP!” 26

2.6.3输出一张漂亮的图片 27

第3章 页面重要组成部分——Web页面的设计 29

3.1 XHTML基础 29

3.1.1 XHTML语言的语法 29

3.1.2 XHTML文件的结构 32

3.1.3编辑文字版面 34

3.1.4插入图像与链接 36

3.1.5编写XHTML表格 38

3.1.6设计XHTML表单 39

3.2 HTML 5新增内容 43

3.2.1 HTML 5的新特性 43

3.2.2 HTML 5的结构 43

3.3 CSS样式应用 52

3.3.1将CSS样式嵌入到HTML中 52

3.3.2 CSS选择符 53

3.3.3常见的CSS样式属性 55

3.4设计页面布局 61

3.4.1 〈div〉和〈span〉标记 61

3.4.2区块模型 61

3.4.3区块浮动 62

3.5上机实践 64

3.5.1 CSS+DIV设计网站首页 64

3.5.2 DIV标签设计论坛后台管理页面 65

3.5.3使用HTML5中新增结构元素来构建网页 66

第4章 固本求源——PHP开发基础 70

4.1 PHP的工作原理 70

4.2为我们的程序添加注释 71

4.2.1使用PHP注释 71

4.2.2使用HTML注释 72

4.2.3有效使用注释 72

4.3 PHP的常量应用 73

4.3.1声明和使用常量 73

4.3.2预定义常量 74

4.4 PHP的变量应用 75

4.4.1理解变量 76

4.4.2声明变量 76

4.4.3变量作用域 77

4.4.4可变变量 79

4.5 PHP的数据类型 80

4.5.1标量数据类型 80

4.5.2复合数据类型 85

4.5.3特殊数据类型 86

4.5.4转换数据类型 87

4.5.5检测数据类型 89

4.6 PHP的运算符 90

4.6.1算术运算符 90

4.6.2字符串运算符 91

4.6.3赋值运算符 92

4.6.4位运算符 92

4.6.5递增或递减运算符 93

4.6.6逻辑运算符 94

4.6.7比较运算符 95

4.6.8三元运算符 96

4.6.9运算符的使用规则 97

4.7.1加法计算器 98

4.7.2输出姚明的个人信息 99

4.7.3比较某一天的产品销量 99

第5章 何去何从——流程控制语句 102

5.1程序的三种控制结构 102

5.1.1顺序结构 102

5.1.2选择(分支)结构 103

5.1.3循环结构 103

5.2条件控制语句 104

5.2.1 if条件控制语句 104

5.2.2 switch多分支语句 105

5.3循环控制语句 107

5.3.1 while循环语句 107

5.3.2 do .while循环语句 108

5.3.3 for循环语句 109

5.3.4 foreach循环语句 110

5.4跳转语句 112

5.4.1 break跳转语句 112

5.4.2 continue跳转语句 113

5.5包含语句 114

5.5.1 include()语句 114

5.5.2 require()语句 115

5.5.3 include once()语句 116

5.5.4 require_ once()语句 117

5.5.5 include()语句和require()语句的区别 118

5.5.6 include once()语句和require_ once()语句的区别 119

5.6上机实践 119

5.6.1使用switch语句实现网页框架 119

5.6.2使用for循环语句开发一个乘法口诀表 120

5.6.3使用while语句循环读取数组中的数据 121

第6章 开发变得更加简单——使用函数 124

6.1定义并使用函数 124

6.1.1定义函数 124

6.1.2函数的调用方法 125

6.2函数的返回值 126

6.2.1单一返回值 126

6.2.2多返回值 126

6.3函数的重要元素——参数 127

6.3.1参数的声明方式 127

6.3.2参数的默认值 128

6.3.3参数的两种传递方式——值传递和引用传递 128

6.3.4在哪里起作用——函数的作用域 129

6.4变量函数 130

6.5 PHP内置函数 130

6.5.1变量函数库 130

6.5.2字符串函数库 132

6.5.3日期函数库 133

6.5.4数学函数库 135

6.5.5文件函数库 137

6.6上机实践 139

6.6.1获取上传文件的后缀 139

6.6.2论坛发布内容模块中对内容的格式化输出 140

6.6.3整个服务条款文件的输出 140

第7章 比一般变量强大——使用数组 143

7.1认清数组的真面目 143

7.1.1什么是数组 143

7.1.2数组的两种类型——索引数组和关联数组 143

7.2数组也有不同 144

7.2.1一维数组 144

7.2.2二维数组 144

7.2.3多维数组 145

7.3让数组为我所用 146

7.3.1声明一个数组 146

7.3.2添加数组元素 147

7.3.3更新数组元素 148

7.3.4删除数组元素 148

7.3.5遍历数组元素 148

7.3.6输出数组 150

7.4我们可以更“懒”一些——使用数组函数 150

7.4.1用于实现排序的函数 150

7.4.2用于实现随机排序的函数 152

7.4.3数组判断函数 153

7.4.4数组的合并与拆分 155

7.4.5其他常用数组函数 156

7.5别样数组——全局数组 158

7.5.1 $ _SERVER[]全局数组 159

7.5.2 $ _GET[]和$_POST[]全局数组 160

7.5.3$COOKIE全局数组 160

7.5.4 $_ ENV[]全局数组 161

7.5.5 $_REQUEST[ ]全局数组 161

7.5.6 $_SESSION[ ]全局数组 161

7.5.7 $ _FILES[]全局数组 161

7.6上机实践 161

7.6.1生成在线考试题 161

7.6.2通过获取客户端IP地址限制投票次数 162

第8章 百变魔方——字符串操作 165

8.1初识字符串 165

8.2转义、还原字符串 166

8.3截取字符串 166

8.4分割、合成字符串 167

8.5替换字符串 168

8.5.1 str ireplace()函数 168

8.5.2 substr replace()函数 170

8.6检索字符串 170

8.6.1 strstr()函数 170

8.6.2 substr count()函数 171

8.7去掉字符串首尾空格和特殊字符 172

8.7.1 ltrim()函数 172

8.7.2 rtrim()函数 173

8.7.3 trim()函数 173

8.8字符串与HTML转换 174

8.9上机实践 176

8.9.1超长文本的分页输出 176

8.9.2查询关键字描红 177

8.9.3 PBP 5.0新型字符串输出XML数据信息 178

第9章 格式工厂——正则表达式 181

9.1什么是正则表达式 181

9.2正则表达式的语法规则 181

9.2.1行定位符(?和$) 182

9.2.2单词定界符(\b、 \B) 182

9.2.3字符类([]) 182

9.2.4选择字符(|) 183

9.2.5连字符(-) 183

9.2.6排除字符([?]) 184

9.2.7限定符(?*+{n,m}) 184

9.2.8点号字符(.) 184

9.2.9转义字符(\) 185

9.2.10反斜线(\) 185

9.2.11括号字符(0) 186

9.3 PCRE兼容正则表达式函数 186

9.3.1字符串的匹配与查找 187

9.3.2字符串的分割 188

9.4上机实践 188

9.4.1正则表达式验证用户注册信息的合理性 188

9.4.2正则表达式验证提交的购买数量是否是正整数 190

9.4.3应用正则表达式匹配电话号码格式 191

第10章 不能没有你——日期与时间 193

10.1 PHP的时间观念 193

10.1.1在php.ini文件中设置时区 193

10.1.2通过date default timezone set函数设置时区 193

10.2 UNIX时间戳 194

10.2.1获取任意日期、时间的时间戳 194

10.2.2获取当前时间戳 195

10.2.3日期、时间转换为UNIX时间戳 195

10.3日期和时间处理 196

10.3.1格式化日期和时间 196

10.3.2获取日期和时间信息 198

10.3.3检验日期和时间的有效性 199

10.4上机实践 200

10.4.1网页闹钟 200

10.4.2倒计时 200

10.4.3计算程序的运行时间 201

第二篇 核心技术篇 204

第11章 轻松实现文件操作——文件和目录处理技术 204

11.1查看文件和目录 204

11.1.1查看文件名称 204

11.1.2查看目录名称 204

11.1.3查看文件真实目录 205

11.2文件信息不再神秘 205

11.2.1显示文件类型 205

11.2.2计算文件大小 206

11.2.3文件的访问时间和修改时间 206

11.2.4显示磁盘大小 207

11.2.5获取文件权限 207

11.3开始实现各种文件操作 207

11.3.1打开文件 208

11.3.2关闭文件 209

11.3.3写入文件 210

11.3.4读取文件 211

11.3.5删除文件 215

11.3.6复制文件 216

11.3.7重命名文件 216

11.4开始实现各种目录操作 216

11.4.1创建目录 216

11.4.2打开目录 217

11.4.3关闭目录 217

11.4.4读取目录 218

11.4.5删除目录 219

11.5文件的上传技术 219

11.5.1开启文件上传功能 219

11.5.2全局变量$_FILES应用 220

11.5.3将上传文件移动到指定目录 221

11.5.4文件下载技术 223

11.6上机实践 224

11.6.1规范化的文件上传 224

11.6.2从文本文件中读取注册服务条款 225

11.6.3规范化的多文件上传 226

第12章 绚丽多彩——图形图像处理技术 228

12.1了解GD2函数库 228

12.2设置GD2函数库 228

12.3学习常用的图像处理技术 229

12.3.1创建画布 229

12.3.2颜色处理 230

12.3.3绘制文字 231

12.3.4输出图像 233

12.3.5销毁图像 234

12.3.6在照片上书写文字 234

12.3.7 GD2函数生成图像验证码 235

12.4运用Jpgraph类库绘制图像 236

12.4.1 Jpgraph类库简介 236

12.4.2 Jpgraph的安装 236

12.4.3使用柱状图展示2010年第一季度编程词典销量 237

12.4.4使用折线图分析2010年公司销售额 239

12.4.5使用饼形图分析2010年图书销量 241

12.5上机实践 242

12.5.1使用GD2函数生成带有干扰点的图像验证码 242

12.5.2使用Jpgraph创建折线图分析图书销售走势 243

12.5.3使用Jpgraph创建3D饼形图展示部门业绩比较 244

第13章 连接客户端与服务器的纽带——会话 247

13.1会话的操作 247

13.1.1创建会话 248

13.1.2配置PHP的会话 250

13.2会话的高级应用 254

13.2.1 SESSION临时文件 254

13.2.2 SESSION缓存 255

13.2.3 SESSION数据库存储 256

13.3 Cookie的操作 259

13.3.1设置Cookie 260

13.3.2访问Cookie 261

13.3.3删除Cookie 261

13.3.4 Cookie应用的注意事项 262

13.3.5登录验证 263

13.3.6 Cookie自动登录 264

13.4上机实践 266

13.4.1防止页面刷新 266

13.4.2控制客户端Cookie 267

13.4.3通过SESSION变量屏蔽刷新页面对计数器的影响 268

第14章 数据管家——MySQL数据库 271

14.1 MySQL概述 271

14.1.1 MySQL的特点 271

14.1.2 SQL和MySQL 272

14.2 MySQL服务器的启动和关闭 272

14.2.1启动MySQL服务器 273

14.2.2连接MySQL服务器 273

14.23关闭MySQL服务器 274

14.3操作MySQL数据库 274

14.3.1创建新数据库 274

14.3.2选择指定数据库 275

14.3.3删除指定数据库 275

14.4操作MySQL数据表 275

14.4.1创建一个数据表 275

14.4.2查看数据表结构 277

14.4.3修改数据表结构 278

14.4.4重命名数据表 279

14.4.5删除指定数据表 279

14.5操作MySQL数据 280

14.5.1向数据表中添加数据(INSERT) 280

14.5.2更新数据表中的数据(UPDATE) 280

14.5.3删除数据表中的数据(DELETE) 281

14.5.4查询数据表中的数据 281

14.6 MySQL数据类型 285

14.6.1数字类型 285

14.6.2字符串类型 286

14.6.3日期和时间数据类型 287

14.7用phpMyAdmin管理MySQL数据库 287

14.7.1管理数据库 287

14.7.2管理数据表 289

14.7.3管理数据记录 291

14.7.4导入/导出数据 295

14.8上机实践 296

14.8.1批量添加记录(LOAD DATA和MYSQLIMPORT) 296

14.8.2在phpMyAdmin中重置MySQL服务器登录密码 297

第15章 乾坤大挪移——数据库编程技术 299

15.1 PHP操作MySQL数据库的步骤 299

15.2 PHP操作MySQL数据库的方法 300

15.2.1使用mysql_connect()函数连接MySQL服务器 301

15.2.2使用mysql_select db()函数选择MySQL数据库 302

15.2.3使用mysql_query()函数执行SQL语句 302

15.2.4使用mysql_ fetch array()函数将结果集返回到数组中 303

15.2.5使用mysql fetch row()函数从结果集中获取一行作为枚举数组 305

15.2.6使用mysql num rows()函数获取查询结果集中的记录数 305

15.3管理MySQL数据库中的数据 306

15.3.1向数据库中添加数据 306

15.3.2编辑数据库数据 307

15.3.3从数据库中删除数据 308

15.3.4批量数据操作 309

15.4上机实践 310

15.4.1对查询结果进行跳转分页显示 310

15.4.2高级查询 312

15.4.3分组统计 313

第16章 千呼万唤始出来——面向对象 315

16.1一切皆是对象 315

16.1.1什么是类 315

16.1.2对象的由来 316

16.1.3面向对象的特点 316

16.2类的声明 317

16.2.1类的定义 317

16.2.2成员属性 318

16.2.3成员方法 319

16.3类的实例化 319

16.3.1创建对象 319

16.3.2访问类中的成员 320

16.3.3特殊的访问方法——“$this”和“?” 321

16.3.4构造方法和析构方法 322

16.4面向对象的封装特性 323

16.4.1 public(公共成员) 324

16.4.2 private(私有成员) 324

16.4.3 protected(保护成员) 325

16.5面向对象的继承特性 326

16.5.1类的继承——extends关键字 326

16.5.2类的继承——Parent:关键字 327

16.5.3覆盖父类方法 327

16.6抽象类和接口 328

16.6.1抽象类 328

16.6.2接口 330

16.7面向对象的多态性 331

16.7.1通过继承实现多态 332

16.7.2通过接口实现多态 333

16.8面向对象的关键字 333

16.8.1 final关键字 333

16.8.2 static关键字——声明静态类成员 334

16.8.3 clone关键字——克隆对象 335

16.8.4对象比较 336

16.8.5 instanceof关键字——对象类型检测 336

16.9面向对象的魔术方法 337

16.9.1_ set()和_get()方法 337

16.9.2_ isset()和_unset()方法 337

16.9.3_ call()方法 337

16.9.4_ toString()方法 338

16.9.5_ autoload()方法 339

16.10上机实践 339

16.10.1封装一个数据库连接类 339

16.10.2封装一个数据库操作类 341

16.10.3分页类 342

第三篇 高级应用篇 346

第17章 化繁为简——PDO数据库抽象层 346

17.1什么是PDO 346

17.1.1 PDO概述 346

17.1.2 PDO的特点 347

17.1.3安装PDO 347

17.2 PDO连接数据库 348

17.2.1 PDO构造函数 348

17.2.2 DSN详解 348

17.3 PDO中执行SQL语句 349

17.3.1 exec()方法 349

17.3.2 query()方法 350

17.3.3预处理语句——prepare()和execute() 351

17.4 PDO中获取结果集 351

17.4.1 fetch()方法 351

17.4.2 fetchAll()方法 353

17.4.3 fetchColumn()方法 354

17.5 PDO中捕获SQL语句中的错误 355

17.5.1使用默认模式——PDO:: ERRMODE SILENT 355

17.5.2使用警告模式——PDO:: ERRMODE WARNING 357

17.5.3使用异常模式——PDO:: ERRMODE EXCEPTION 358

17.6 PDO中的错误处理 360

17.6.1 errorCode()方法 360

17.6.2 errorInfo()方法 361

17.7 PDO中的事务处理 362

17.8 PDO中的存储过程 363

17.9上机实践 365

17.9.1明日书店会员注册 365

17.9.2添加留言信息 366

17.9.3查询留言 367

第18章 全面开发提速——Smarty模板技术 370

18.1使用Smarty前的准备工作 370

18.1.1 Smarty模板引擎下载 371

18.1.2 Smarty模板引擎安装 371

18.1.3 Smarty模板引擎配置 372

18.1.4走进Smarty模板引擎 373

18.1.5封装Smarty模板的配置方法 375

18.2 Smarty模板设计——静态页处理 376

18.2.1基本语法(注释、函数和属性) 377

18.2.2 Smarty模板设计变量 377

18.2.3变量调节器 378

18.2.4 Smarty模板中日期、时间的格式化输出 379

18.2.5通过组合修改器分隔多个变量调节器 380

18.2.6内建函数(动态文件、模板文件的包含和流程控制语句) 381

18.2.7 Smarty模板创建网页框架 383

18.2.8自定义函数 385

18.2.9配置文件 387

18.3 Smarty程序设计——动态文件操作 388

18.3.1 SMARTY PATH常量 388

18.3.2 Smarty程序设计变量 389

18.3.3 Smarty方法 389

18.3.4 Smarty缓存 390

18.3.5开启网站注册页面的缓存 391

18.4上机实践 393

18.4.1 Smarty中通过truncate方法截取字符串 393

18.4.2用Register Function方法注册模板函数 394

18.4.3 Smarty模板中的关键字描红 396

第19章 为我所用——ThinkPHP框架 398

19.1 ThinkPHP简介 398

19.1.1 ThinkPHP框架的特点 398

19.1.2环境要求 399

19.1.3下载ThinkPHP框架 399

19.2 ThinkPHP架构 399

19.2.1 ThinkPHP的目录结构 399

19.2.2自动生成目录 400

19.2.3项目目录部署方案 401

19.2.4命名规范 402

19.2.5项目构建流程 403

19.3 ThinkPHP的配置 405

19.3.1配置格式 405

19.3.2调试配置 406

19.4 ThinkPHP的控制器 406

19.4.1控制器 406

19.4.2跨模块调用 408

19.5 ThinkPHP的模型 411

19.5.1模型的命名 411

19.5.2实例化模型 412

19.5.3属性访问 416

19.5.4连接数据库 416

19.5.5创建数据 419

19.5.6连贯操作 420

19.5.7 CURD操作 421

19.6 ThinkPHP的视图 425

19.6.1模板定义 425

19.6.2模板赋值 426

19.6.3指定模板文件 426

19.6.4特殊字符串替换 427

19.7内置ThinkTemplate模板引擎 427

19.8上机实践 430

19.8.1用户信息的查询、更新和删除 430

19.8.2用户登录和数据的分页输出 432

19.8.3应用ThinkPHP中提供的验证码类和分页类完成用户登录和分页输出 435

第四篇 项目实战篇 442

第20章 应用ThinkPHP框架开发明日导航网 442

20.1需求分析 442

20.2系统设计 442

20.2.1系统功能结构 442

20.2.2系统预览 443

20.3数据库设计 444

20.3.1设计数据库 444

20.3.2设计数据表 444

20.3.3连接数据库 446

20.4 ThinkPHP架设项目结构 446

20.4.1下载ThinkPHP框架 446

20.4.2自动生成项目目录 446

20.5明日导航前台页面设计 447

20.5.1页面设计概述 447

20.5.2控制器的创建 449

20.5.3视图中应用到的模板标签 450

20.5.4在视图中创建模板文件 453

20.6明日导航后台管理设计 454

20.6.1后台管理概述 454

20.6.2通过系统配置文件存储后台登录数据 454

20.6.3后台管理架构解析 455

20.6.4 ThinkPHP框架中的分页技术 456

20.6.5后台管理视图中应用的模板标签 457

20.6.6后台登录 458

20.6.7后台管理主页 460

20.6.8高级类别管理 461

20.6.9判断访问用户的权限 465

20.6.10操作提示页面 465

20.7项目发布 466

第21章 明日企业网 468

21.2开发背景 468

21.3需求分析 469

21.4功能结构 470

21.5数据库设计 470

21.5.1数据库概念设计 471

21.5.2创建数据库及数据表 472

21.6技术攻关 474

21.6.1 Smarty模板 474

21.6.2最简单的网页框架 475

21.6.3 PDO数据库抽象层 476

21.6.4封装分页类 477

21.7首页设计 479

21.7.1首页概述 479

21.7.2首页技术分析 479

21.7.3首页的实现过程 480

21.8产品展示设计 481

21.8.1产品展示概述 482

21.8.2产品展示技术分析 482

21.8.3产品展示实现过程 483

21.9后台管理系统设计 484

21.9.1后台管理系统概述 484

21.9.2后台管理系统技术分析 485

21.9.3后台管理系统实现过程 486