<p>前言<br />第一篇 PHP技术基础<br />第1章 PHP起步<br />1.1 初识PHP<br />1.2 LAMP--锋利四剑客:Linux、Apache、MySQL和PHP<br />1.3 PHP Web编程的体系结构和基本内容<br />1.3.1 了解PHP、HTML、CSS和JavaScript及其关系<br />1.3.2 HTML文档<br />1.3.3 使用样式表实现页面效果<br />1.3.4 客户端的响应<br />1.3.5 嵌入式脚本页面<br />1.4 开始PHP之旅:搭建PHP开发环境<br />1.4.1 下载Apache、MySQL和PHP<br />1.4.2 在Windows下配置开发环境<br />1.4.3 在Linux/UNIX下配置开发环境<br />1.4.4 善其事,利其器--PHP编辑器的选择<br />1.5 用PHP做些事儿<br />1.5.1 编写第一个PHP程序--"Hello,PHP!"<br />1.5.2 使用PHP处理HTML表单<br />1.6 深入了解Apache、PHP和MySQL<br />1.7 实例:使用JavaScript验证HTML表单数据<br />1.8 小结<br />1.9 习题<br />第2章 PHP语言<br />2.1 基础语法<br />2.1.1 PHP分隔符<br />2.1.2 给PHP程序添加注释<br />2.2 数据类型<br />2.2.1 整数类型:integer<br />2.2.2 浮点类型:float<br />2.2.3 字符串类型:string<br />2.2.4 布尔类型:boolean<br />2.2.5 数组类型:array<br />2.3 变量<br />2.3.1 什么是变量<br />2.3.2 变量的命名规则<br />2.3.3 变量类型的转换<br />2.3.4 可变变量<br />2.3.5 PHP的预定义变量<br />2.3.6 判断变量的类型<br />2.3.7 获取变量的类型<br />2.3.8 设置变量的类型<br />2.3.9 判断一个变量是否已经定义<br />2.3.10 删除一个变量<br />2.4 常量<br />2.4.1 什么是常量<br />2.4.2 定义常量<br />2.4.3 使用PHP预定义常量<br />2.5 表达式<br />2.6 运算符<br />2.6.1 赋值运算符<br />2.6.2 算术运算符<br />2.6.3 递增/递减运算符<br />2.6.4 字符串运算符<br />2.6.5 逻辑运算符<br />2.6.6 比较运算符<br />2.6.7 运算符的优先级<br />2.7 PHP程序的流程控制<br />2.7.1 程序流程控制概述<br />2.7.2 条件控制语句:if和if…else语句<br />2.7.3 switch结构<br />2.7.4 循环控制语句:for循环语句<br />2.7.5 while循环语句<br />2.7.6 do…while循环语句<br />2.7.7 break和continue语句<br />2.7.8 条件运算符? :<br />2.8 函数<br />2.8.1 PHP中函数的概念<br />2.8.2 定义函数和调用函数<br />2.8.3 函数的参数和函数的返回值<br />2.8.4 PHP函数的传值与传址<br />2.8.5 变量作用域<br />2.9 小结<br />2.10 习题<br />第3章 用PHP进行Web编程<br />3.1 PHP的Web编程基础<br />3.1.1 HTTP协议原理<br />3.1.2 创建HTML表单<br />3.1.3 访问和获取HTML表单数据<br />3.1.4 用PHP处理表单数据<br />3.1.5 用PHP验证表单数据有效性<br />3.1.6 PHP中的session<br />3.1.7 PHP中的文件上传处理<br />3.2 实例:用PHP开发一个简单的网站<br />3.2.1 网站功能设计<br />3.2.2 页面设计<br />3.2.3 用JavaScript实现客户端响应<br />3.2.4 服务器端用PHP处理请求<br />3.3 小结<br />3.4 习题<br />第二篇 PHP数据处理<br />第4章 PHP中的函数<br />4.1 用户自定义函数<br />4.2 函数的其他定义方式<br />4.3 递归函数<br />4.4 函数的参数<br />4.5 函数的返回值<br />4.6 变量函数<br />4.7 系统函数<br />4.8 带有默认参数函数的使用方法<br />4.9 小结<br />4.10 习题<br />第5章 PHP对数组的处理<br />5.1 建立数组的方法<br />5.1.1 使用array()函数新建数组<br />5.1.2 使用变量建立数组<br />5.1.3 使用两个数组创建一个数组<br />5.2 输出数组元素的方法<br />5.2.1 使用for循环语句输出数组元素<br />5.2.2 使用foreach循环语句输出数组元素<br />5.2.3 使用函数print_r()显示数组元素<br />5.3 计算数组元素个数<br />5.4 对数组进行分割、合并<br />5.4.1 实现数组分割<br />5.4.2 实现数组合并<br />5.5 处理数组元素和键值位置<br />5.6 对数组进行排序<br />5.6.1 使用sort()对数组进行排序<br />5.6.2 使用rsort()对数组进行逆向排序<br />5.6.3 排序时保持原数组的索引<br />5.6.4 数组的随机排序<br />5.6.5 数组的反向排序<br />5.7 重置一个数组<br />5.8 用数组对变量赋值<br />5.9 快速创建数组<br />5.10 压入和弹出数组元素<br />5.10.1 压入数组元素<br />5.10.2 弹出数组元素<br />5.11 改变数组字符索引名的大小写<br />5.12 对数组的集合处理<br />5.12.1 计算交集<br />5.12.2 计算差集<br />5.13 交换数组索引和元素<br />5.14 快速填充数组元素<br />5.15 统计数组元素出现次数<br />5.16 检查数组索引是否存在<br />5.17 取得数组中的所有索引<br />5.18 用回调函数处理数组<br />5.19 其他数组处理函数<br />5.19.1 判断某个值是否存在于数组<br />5.19.2 获取数组中当前单元的索引值<br />5.20 小结<br />5.21 习题<br />第6章 PHP对字符串的处理<br />6.1 对字符串做分割和合并<br />6.2 对字符串做比较和替换<br />6.2.1 比较两个字符串大小<br />6.2.2 字符串的替换<br />6.3 输出打印字符串<br />6.4 格式化字符串<br />6.5 获取字符串中的一个子串<br />6.6 删除字符串两侧的空白<br />6.6.1 删除字符串末尾部分的空白字符<br />6.6.2 删除字符串开始部分的空白字符<br />6.6.3 删除字符串两头的空白字符<br />6.7 获取字符串的长度<br />6.8 其他常见的字符串操作<br />6.8.1 对字符串做大小写转换<br />6.8.2 处理含有HTML标记的字符串<br />6.8.3 多次生成一个字符串<br />6.8.4 将字符串分析到变量<br />6.8.5 转换字符串到数组<br />6.8.6 计算字符串的散列<br />6.9 小结<br />6.10 习题<br />第7章 用PHP处理日期和时间<br />7.1 获取格式化的日期和时间<br />7.2 处理UNIX时间戳<br />7.3 获取日期和时间的相关信息<br />7.4 PHP中的日期计算<br />7.5 检查日期的有效性<br />7.6 使用PHP制作万年历<br />7.7 小结<br />7.8 习题<br />第8章 用PHP操作目录和文件<br />8.1 常见的目录操作<br />8.1.1 打开和关闭目录<br />8.1.2 获取目录中下一个文件的文件名<br />8.1.3 列出某一目录下的所有文件<br />8.1.4 获取和改变PHP的当前工作目录<br />8.1.5 从目录句柄中读取条目<br />8.1.6 关闭目录句柄<br />8.2 常见的文件操作<br />8.2.1 打开和关闭文件<br />8.2.2 读出文件的内容<br />8.2.3 向文件写入内容<br />8.2.4 获取文件的相关信息<br />8.2.5 一些判断文件性质的函数<br />8.3 文件和目录的通用操作<br />8.3.1 获取路径中的文件名和目录名<br />8.3.2 判断文件或目录是否存在<br />8.3.3 建立目录和删除目录<br />8.3.4 复制、删除和移动文件<br />8.4 文件的高级操作<br />8.4.1 处理文件的锁定<br />8.4.2 更改文件的属性<br />8.4.3 获取文件时间属性<br />8.4.4 通过HTTP协议打开文件<br />8.4.5 包含指定的文件到当前文件<br />8.5 小结<br />8.6 习题<br />第9章 PHP中对URL、HTTP的处理<br />9.1 URL地址分析<br />9.1.1 为什么要对URL进行处理<br />9.1.2 对URL进行编码<br />9.1.3 对URL进行解码<br />9.1.4 对URL地址进行分析<br />9.2 HTTP应用<br />9.2.1 生成一个HTTP头<br />9.2.2 获取HTTP头信息<br />9.3 在PHP中生成cookie<br />9.3.1 生成cookie<br />9.3.2 获取cookie<br />9.3.3 设置cookie的有效期<br />9.3.4 解决cookie的失效问题<br />9.3.5 设置cookie的有效路径<br />9.3.6 删除cookie<br />9.4 小结<br />9.5 习题<br />第10章 用PHP获取系统信息<br />10.1 获取和添加PHP环境变量<br />10.2 查看被载入的PHP扩展模块<br />10.3 获取PHP的当前各类信息<br />10.4 获取当前PHP进程的进程号和程序所有者<br />10.5 小结<br />10.6 习题<br />第11章 PHP中的数学运算<br />11.1 数学运算<br />11.1.1 常见的数据运算函数<br />11.1.2 数据运算函数范例<br />11.2 不同进制之间的数字转换<br />11.3 随机数<br />11.3.1 生成随机数的步骤<br />11.3.2 生成随机数的函数<br />11.4 小结<br />11.5 习题<br />第12章 应用实践一:基于文本的简易BLOG系统<br />12.1 系统功能设计<br />12.2 数据的存储及系统架构<br />12.3 系统功能实现<br />12.3.1 实现BLOG文章的显示<br />12.3.2 完善用户界面<br />12.3.3 实现BLOG文章的添加功能<br />12.3.4 实现登录功能<br />12.3.5 实现BLOG首页<br />12.3.6 实现BLOG文章的编辑功能<br />12.3.7 实现BLOG文章的删除功能<br />12.3.8 实现BLOG归档显示的功能<br />12.3.9 实现BLOG的退出功能<br />12.4 小结<br />12.5 习题<br />第三篇 PHP和MySQL数据库<br />第13章 MySQL数据库和SQL基础<br />13.1 MySQL数据库的安装与配置<br />13.1.1 认识MySQL<br />13.1.2 安装MySQL前的准备<br />13.1.3 安装并配置MySQL<br />13.1.4 管理工具<br />13.1.5 PHP配置文件与MySQL访问<br />13.1.6 下载phpMyAdmin<br />13.1.7 配置phpMyAdmin<br />13.1.8 使用phpMyAdmin<br />13.2 MySQL数据库的基本操作<br />13.2.1 表、字段、记录和键的概念<br />13.2.2 登录和退出MySQL<br />13.2.3 建立和删除数据库<br />13.2.4 表的查看与建立<br />13.2.5 建立索引<br />13.3 MySQL中的SQL语法基础<br />13.3.1 查看表结构<br />13.3.2 插入数据<br />13.3.3 查询数据<br />13.3.4 条件查询<br />13.3.5 更新数据<br />13.3.6 删除数据<br />13.3.7 对查询结果排序<br />13.3.8 对查询结果分组<br />13.3.9 对查询结果进行限定<br />13.3.10 MySQL的数据类型<br />13.3.11 MySQL运算符<br />13.3.12 MySQL中的模式匹配<br />13.3.13 使用MySQL函数<br />13.4 小结<br />13.5 习题<br />第14章 使用PHP操作MySQL数据库<br />14.1 操作MySQL的PHP函数<br />14.1.1 连接和关闭数据库的函数<br />14.1.2 执行SQL语句的函数<br />14.1.3 处理查询结果集的函数<br />14.1.4 获取字段信息的函数<br />14.1.5 数据库操作的其他函数<br />14.2 使用PHP连接MySQL数据库<br />14.2.1 建立和数据库的连接<br />14.2.2 持久连接和临时连接<br />14.2.3 关闭连接<br />14.3 使用PHP显示MySQL数据库的数据<br />14.3.1 在PHP中执行SQL语句<br />14.3.2 用PHP处理数据结果集<br />14.3.3 向Web页面显示数据<br />14.3.4 数据分页显示的原理及实现<br />14.4 使用PHP维护MySQL数据库的数据<br />14.4.1 从页面获取数据并插入数据库<br />14.4.2 根据表单内容修改数据库数据<br />14.4.3 通过PHP删除数据库数据<br />14.5 PHP操作MySQL常见错误信息及分析<br />14.6 小结<br />14.7 习题<br />第四篇 更上一层楼--PHP进阶<br />第15章 面向对象的PHP编程<br />15.1 面向对象编程的基本概念<br />15.2 PHP中的类和对象<br />15.2.1 类的创建<br />15.2.2 类的实例化--对象<br />15.2.3 构造函数和析构函数<br />15.2.4 继承<br />15.2.5 访问对象的属性和方法<br />15.2.6 PHP中类的静态成员<br />15.2.7 PHP中一些和类有关的函数<br />15.3 实例分析--深入理解PHP的类和对象<br />15.4 小结<br />15.5 习题<br />第16章 PHP程序中的错误处理<br />16.1 在PHP中处理程序错误<br />16.1.1 语法错误的处理<br />16.1.2 运行时错误的处理<br />16.1.3 逻辑错误的处理<br />16.2 PHP中的异常处理类及其用法<br />16.2.1 PHP中的异常处理类<br />16.2.2 PHP程序中捕获异常的方法<br />16.2.3 获取异常信息<br />16.2.4 获取错误发生的文件<br />16.2.5 获取错误发生的行<br />16.3 PHP配置设定的错误处理方法<br />16.3.1 和错误处理有关的项<br />16.3.2 错误报告<br />16.4 自定义错误处理<br />16.5 小结<br />16.6 习题<br />第17章 PHP与XML<br />17.1 认识XML<br />17.1.1 什么是XML<br />17.1.2 XML的结构<br />17.1.3 XML、HTML、SGML之间的关系和区别<br />17.1.4 建立一个简单的XML文件<br />17.2 深入认识XML文档<br />17.2.1 XML声明<br />17.2.2 XML元素<br />17.2.3 标记和属性<br />17.2.4 注释<br />17.2.5 处理指令<br />17.2.6 实体简介<br />17.2.7 文件类型定义<br />17.3 在PHP中处理XML<br />17.3.1 在PHP中建立对XML的支持<br />17.3.2 用PHP函数处理XML文档<br />17.3.3 XML解析器的建立和释放<br />17.3.4 处理XML元素的函数<br />17.3.5 处理XML字符数据的函数<br />17.3.6 解析一个XML文档<br />17.3.7 完整实例分析<br />17.4 使用SimpleXML处理XML<br />17.4.1 SimpleXML简介<br />17.4.2 载入XML文件的函数<br />17.4.3 载入XML字符串的函数<br />17.4.4 使用SimpleXML的实例<br />17.5 使用PHP的DOM库处理XML文档<br />17.5.1 什么是DOM<br />17.5.2 通过DOM在PHP中处理XML文档的过程<br />17.6 小结<br />17.7 习题<br />第18章 PHP与AJAX<br />18.1 认识AJAX<br />18.1.1 什么是AJAX<br />18.1.2 AJAX的工作原理<br />18.2 AJAX与数据交互<br />18.2.1 创建XMLHttpRequest对象<br />18.2.2 发送异步请求<br />18.2.3 编写回调函数<br />18.2.4 完整实例<br />18.3 一个实现AJAX的PHP类--xajax<br />18.3.1 下载和安装xajax<br />18.3.2 xajax简介<br />18.3.3 在PHP程序中使用xajax<br />18.3.4 xajax应用实例<br />18.4 一个AJAX框架--Spry框架<br />18.4.1 Spry框架简介<br />18.4.2 Spry框架的使用方法<br />18.5 小结<br />18.6 习题<br />第19章 PHP与图像处理<br />19.1 PHP的图像处理库--GD库<br />19.1.1 在Linux下安装GD库<br />19.1.2 在Windows下安装GD库<br />19.1.3 主要图像处理函数介绍<br />19.2 图像的建立<br />19.2.1 生成图像的步骤<br />19.2.2 用PHP生成图像<br />19.2.3 设定图像颜色<br />19.2.4 在图像上绘制直线<br />19.2.5 在图像上输出文字<br />19.3 图片处理<br />19.3.1 打开已经存在的图片<br />19.3.2 获取图片的相关属性<br />19.3.3 对图片加水印效果<br />19.3.4 生成已有图片的缩略图<br />19.3.5 对图片加文字效果<br />19.4 实例:生成带有底纹的数字验证码图片<br />19.5 小结<br />19.6 习题<br />第20章 PHP与MVC开发模式<br />20.1 什么是MVC模型<br />20.2 MVC模型的组成<br />20.2.1 控制器<br />20.2.2 数据模型<br />20.2.3 视图<br />20.3 PHP开发中的模板技术<br />20.3.1 什么是模板<br />20.3.2 在PHP程序中使用模板<br />20.3.3 Smarty模板引擎介绍<br />20.3.4 Smarty模板引擎的使用<br />20.4 常见的基于MVC的PHP开发框架简介<br />20.4.1 CodeIgniter<br />20.4.2 CakePHP<br />20.4.3 Zend Framework<br />20.4.4 FleaPHP<br />20.5 CodeIgniter框架应用<br />20.5.1 CodeIgniter的技术特点介绍<br />20.5.2 安装CodeIgniter<br />20.5.3 CodeIgniter的Controller<br />20.5.4 CodeIgniter的Model<br />20.5.5 CodeIgniter的View<br />20.6 小结<br />20.7 习题<br />第21章 PHP中的正则表达式<br />21.1 什么是正则表达式<br />21.2 正则表达式的语法<br />21.2.1 模式<br />21.2.2 元字符<br />21.2.3 转义字符<br />21.2.4 字符类<br />21.2.5 反义<br />21.2.6 数量匹配限定符<br />21.2.7 正则表达式构建实例<br />21.3 PHP中的POSIX扩展正则表达式函数<br />21.3.1 正则表达式匹配函数<br />21.3.2 替换匹配字符串的函数<br />21.3.3 根据正则表达式分割字符串的函数<br />21.3.4 生成正则表达式的函数<br />21.4 PHP中的PERL兼容正则表达式函数<br />21.4.1 PERL兼容正则表达式中的修正符<br />21.4.2 返回与模式匹配的数组单元的正则表达式函数<br />21.4.3 进行正则表达式匹配的函数<br />21.4.4 进行全局正则表达式匹配的函数<br />21.4.5 执行正则表达式的搜索和替换的函数<br />21.5.6 用正则表达式分割字符串的函数<br />21.5 几例常见正则表达式分析<br />21.5.1 检查IP地址的正则表达式<br />21.5.2 检查中文字符的正则表达式<br />21.5.3 检查Email地址的正则表达式<br />21.5.4 检查URL地址的正则表达式<br />21.6 小结<br />21.7 习题<br />第五篇 PHP应用实例与常见面试题<br />第22章 应用实践二:用PHP发送邮件<br />22.1 mail()函数和SMTP简介<br />22.1.1 mail()函数配置与语法<br />22.1.2 SMTP与指令<br />22.2 功能设计和实现<br />22.2.1 设计一个发送邮件的类<br />22.2.2 测试发送邮件功能<br />22.2.3 发送邮件的表单及程序实现<br />22.3 小结<br />第23章 常见面试题<br />面试题1 数组函数arsort()的作用是什么<br />面试题2 简述include语句和require语句的区别<br />面试题3 写出<?php echo 8%(-2) ?>的输出结果<br />面试题4 如何实现字符串翻转<br />面试题5 说出echo、print()和print_r() 3个函数的区别<br />面试题6 写出显示客户端IP与服务器IP的代码<br />面试题7 SQL中LEFT JOIN是什么意思<br />面试题8 如何修改session的生存时间<br />面试题9 写一个能遍历文件夹下所有文件和子文件夹的函数<br />面试题10 写一个过滤网页上所有JS/VBS脚本的正则表达式<br />面试题11 PHP中字符串的表现形式有哪些<br />面试题12 谈谈你对MVC的认识<br />面试题13 sort()、asort ()和ksort()有什么区别<br />面试题14 说出代码的输出结果(变量的作用域)<br />面试题15 哪个函数可打开文件并且能读/写文件信息<br />面试题16 写一个函数验证电子邮件的格式<br />面试题17 使用PHP写一段简单查询<br />面试题18 写出PHP权限控制修饰符<br />面试题19 说明PHP中传值与传引用的区别<br />面试题20 从一个标准URL里取出文件的扩展名<br />面试题21 用PHP打印出前一天的时间<br />面试题22 你一般都使用哪些工具进行版本控制<br />面试题23 优化MYSQL数据库的方法<br />面试题24 创建vote表用于记录单选投票用户的数据<br />面试题25 网站出现too many connection错误的解决方案<br />面试题26 session与cookie的区别<br />附录A 配置Eclipse成为PHP开发工具<br />附录B 正则表达式参考<br />附录C PHP代码编写的一般规则</p>
展开