您好,欢迎光临有路网!
PHP 5完全攻略
QQ咨询:
有路璐璐:

PHP 5完全攻略

  • 作者:杜江
  • 出版社:电子工业出版社
  • ISBN:9787121107825
  • 出版日期:2010年05月01日
  • 页数:659
  • 定价:¥79.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    • 出版社
    • ISBN
      9787121107825
    • 作者
    • 页数
      659
    • 出版时间
      2010年05月01日
    • 定价
      ¥79.00
    • 所属分类
    内容提要
    本书是目前**本真正介绍php 5及mysql 5新增语法与功能的中文版本权威宝典! 本书本着精、全、要三宗旨,从理论中延伸,从实践中深入,翔实并完善地描述了php 5的开发特性与mysql 5数据库。本书分为两大部分,第1部分主要阐述php开发的基础知识,如php数组与表单处理、php 5面向对象开发、ajax、cli、字符流处理、加密技术、图片处理及php代码优化,以及存储过程、游标、事务等进阶内容;书中第2部分的开发实例是作者开发的原创作品,该部分内容不仅会令读者的开发水平有所增进,而且可在案例的基础上进行二次开发,做出符合自己业务的网站系统。 本书既可作为初学者或刚刚从其他语言转做php开发的程序员和软件工程师的学习参考书,也可作为掌握php 5的进阶应用及**知识的案上学习指南。
    文章节选
    读着杜江先生的新作,让我想起了八、九年前,在我所服务的单位——美国Yahoo!总部的一些经历。那时候,还是互联网的迅速发展阶段,Yahoo!还是个不到一千人的新兴公司,正从各地招兵买马,壮大充实,以和当时的劲敌美国在线、Lycos等力拼。在早期互联网公司松散的管理下,各个部门各自为政,除了操作系统基本上是FreeBSD、Web Server主要是Apache以外,其他就要看各部门主力工程师的个人偏好了,于是百花齐放,Perl、C/C++、Java都有人用,更是有Yahoo!内部开发的所谓HTML Forms和HF2K的脚本语言。我那时候负责Yahoo Everywhere部分开发及全球部署工作,职责就是把Yahoo!的各种服务WML化,让人们用手机上网、在世界各地也能轻松享用Yahoo!的各项产品。那时,除了和电信运营商、手机厂商打交道,*多的时间就是花在和Yahoo!内各部门的工程师协调、合作,以及了解、衔接他们的系统。
    相比之下,现时的互联网工程师是比较幸运的。基本上,开发一个网站项目,在工具、架构的���择上已是没有什么悬念,除了微软或Java那一套,就是所谓的LAMP(Linux、Apache、MySQL、PHP)模式了。毕竟这个模式不但完全免费,而且身经百战,被Yahoo!、新浪等大型网站广为采用。还记得当年(应该是2001年吧),雅虎美国总部为了整治公司内部系统的混乱,弥补自身脚本语言的不足,为长期持续的发展建立可以持续的基础,很明智地在公司各部门统一推广了PHP的使用。这一举措也为PHP日后的壮大起到了一定的推动作用。
    不过,也因为这样,在前人的努力累积的硕果上,再加上互联网搜索信息快速方便,养成了许多工程师的惰性。这个现象在中国感觉尤为严重。有了LAMP的架构,又随时可以搜到各种问题的开源解答,许多工程师或管理人员就把网站建设不当回事,也不深究,不求甚解。要知道,要把一个网站搭建起来,的确可以是一个很简单的事,但是,要做大,要做好,要做到英文里各种所谓“bilities”(maintainability、flexibility、extensibility、availability、reliability、scalability)的境界,很多东西是要深入了解,细细琢磨的。这就是为什么我常强调,希望我的合作伙伴都是“工程师”,而非简单的“程序员”。
    杜江先生就是我曾共事过的**工程师之一。他写的这本《PHP 5与MySQL 5完全攻略》可以说同时兼顾到了“工程师”和“程序员”两种读者的需求。
    这本600多页的参考书既有许多针对日常会遇到的问题、案例,提供可直接应用上的答案,又有深入的、循序渐进的描述、解析了PHP 5及MySQL 5的技术细节,是一本值得**给所有以PHP、MySQL为基础搭建网站的工程师与程序员的好书。
    目录
    第1部分 PHP 5基础
    **篇 PHP 5基础知识
    第1章 PHP 5概述 3
    1.1 什么是PHP 3
    1.1.1 PHP的历史 3
    1.1.2 PHP的优点 4
    1.1.3 PHP的精神 5
    1.1.4 PHP与Web 2.0 6
    1.2 PHP 5的新特性 7
    1.2.1 新的面向对象模式 7
    1.2.2 新的面向对象特性 7
    1.2.3 其他新特性 11
    1.2.4 PHP 5.3新特性 12
    1.2.5 MySQL 5.1新特性 12
    1.3 PHP 5的扩展库 13
    1.3.1 XML扩展 13
    1.3.2 SPL 14
    1.3.3 MySQLi扩展 15
    1.3.4 PDO数据库抽象层 15
    1.3.5 JSON扩展 15
    1.4 PHP 5外部扩展库 15
    1.4.1 PECL扩展 15
    1.4.2 PEAR扩展 16
    1.5 PHP 5的其他更新 16
    1.5.1 Zend引擎2.x 16
    1.5.2 新的内存管理器 16
    1.5.3 Zend Optimizer与Zend Core 17
    1.6 PHP与WEB服务器 17
    1.6.1 Apache 17
    1.6.2 Microsoft IIS 17
    1.6.3 其他Web服务器 18
    1.7 PHP 5安装与配置 18
    1.7.1 Win32平台下Apache环境安装 18
    1.7.2 Win32平台下IIS环境安装 35
    1.7.3 使用集成化安装包 38
    1.7.4 FreeBSD平台 39
    1.7.5 Linux平台 45
    1.8 PHP配置与初步优化 48
    1.9 其他需注意的问题 48
    1.10 PHP开发工具 49
    1.11 小结 54

    第2章 PHP 5开发基础 55
    2.1 PHP初相遇 55
    2.2 几个技术点 56
    2.2.1 PHP语句 57
    2.2.2 空格与空行 57
    2.2.3 注释 57
    2.2.4 函数调用 58
    2.3 变量与变量名 58
    2.4 变量的赋值 59
    2.5 变量的引用赋值 59
    2.6 PHP的数据类型 60
    2.7 标量数据类型 60
    2.7.1 整型 60
    2.7.2 浮点型 60
    2.7.3 字符串型 61
    2.7.4 布尔型 61
    2.8 复合数据类型 61
    2.8.1 数组 61
    2.8.2 对象 62
    2.9 特殊数据类型 63
    2.9.1 NULL 63
    2.9.2 资源 63
    2.10 变量打印与输出 64
    2.10.1 使用echo函数 64
    2.10.2 使用print函数 64
    2.10.3 echo和print的区别 64
    2.10.4 使用printf函数 65
    2.10.5 使用sprintf函数 65
    2.10.6 显示数组与对象 66
    2.11 变量操作符 67
    2.11.1 算术运算符 67
    2.11.2 赋值操作符 68
    2.11.3 字符串连接 68
    2.11.4 字符串换行连接 68
    2.11.5 花括号的作用 69
    2.11.6 单引号与双引号 70
    2.11.7 HereDoc 70
    2.11.8 转义操作符 71
    2.11.9 格式控制符 71
    2.11.10 递增与递减操作符 72
    2.11.11 三元操作符 72
    2.11.12 比较运算符 73
    2.11.13 布尔运算符 74
    2.11.14 位操作符 75
    2.12 数据类型自动转换 76
    2.13 数据类型强制转换 77
    2.13.1 转换为整型数据 78
    2.13.2 用intval()函数取整 78
    2.13.3 转换为浮点型数据 78
    2.13.4 转换为布尔型数据 79
    2.13.5 转换为字符串型数据 79
    2.13.6 转换为数组 79
    2.13.7 转换为对象 80
    2.14 **全局数组 80
    2.14.1 $_SERVER**全局变量数组 81
    2.14.2 修改全局数组的值 84
    2.15 变量与脚本处理 84
    2.15.1 使用isset()函数检测变量定义 84
    2.15.2 使用unset()函数删除变量 85
    2.15.3 使用empty()函数检测变量值是否为空 85
    2.15.4 其他检测类函数族 85
    2.16 常量 85
    2.16.1 定义常量 86
    2.16.2 PHP魔术常量 86
    2.17 PHP的控制结构 87
    2.17.1 分支结构语句 87
    2.17.2 循环结构语句 92
    2.18 包含控制语句 97
    2.18.1 include与require 97
    2.18.2 include_once与require_once 98
    2.18.3 eval() 98
    2.18.4 中止脚本的执行:exit()与die() 99
    2.19 函数 99
    2.19.1 函数的命名 100
    2.19.2 函数的结构 100
    2.19.3 从函数中返回值 101
    2.19.4 函数参数的传递 102
    2.19.5 函数与全局变量 106
    2.19.6 函数的静态变量 107
    2.19.7 函数中使用常量 108
    2.19.8 递归函数 109
    2.19.9 解决函数重名的方法 109
    2.20 可变变量 110
    2.21 字符串操作 110
    2.21.1 手动转义字符串数据 110
    2.21.2 自动转义字符串数据 111
    2.21.3 数值转换字符串 112
    2.21.4 字符串序列化 112
    2.21.5 清理字符串中的空格 113
    2.21.6 格式化字符串 114
    2.21.7 字符串切分 114
    2.21.8 字符串截取 115
    2.21.9 计算字符串的长度 115
    2.21.10 字符串单词统计 116
    2.21.11 字符串查找 117
    2.21.12 字符串处理 118
    2.22 日期与时间 123
    2.22.1 UNIX时间戳 123
    2.22.2 日期函数 124
    2.22.3 时间函数 127
    2.23 网络相关处理 130
    2.23.1 header()函数 130
    2.23.2 处理URL字符串 132
    2.23.3 获得PHP环境信息 134
    2.24 其它操作符 135
    2.24.1 @-错误**符 135
    2.24.2 执行外部命令 135
    2.25 小结 136

    第3章 正则表达式 137
    3.1 正则表达式简介 137
    3.2 正则表达式功能 137
    3.3 POSIX正则表达式 138
    3.3.1 ^和$定位符 138
    3.3.2 POSIX量词 138
    3.3.3 方括号表达式 139
    3.3.4 预定义字符簇 140
    3.3.5 POSIX正则表达式函数 140
    3.4 PCRE正则表达式函数 142
    3.4.1 PCRE字符类 142
    3.4.2 PCRE匹配 142
    3.4.3 PCRE正则表达式函数 143
    3.5 正则表达式VS函数 149
    3.6 创建BBCODE 149
    3.7 小结 150

    第4章 PHP数组 151
    4.1 什么是数组 151
    4.2 数组的类型 152
    4.2.1 数字索引数组 152
    4.2.2 关联数组 152
    4.3 数组的构造 153
    4.3.1 一维数组 153
    4.3.2 二维数组与多维数组 154
    4.3.3 多维数组 159
    4.4 快速创建数组 161
    4.4.1 使用range()函数 161
    4.4.2 为数组追加数据 162
    4.4.3 修改数组内容 162
    4.5 访问和处理数组内容 162
    4.5.1 数字索引数组排序 162
    4.5.2 关联数组排序 163
    4.5.3 数组随机抽取shuffle()和array_rand() 164
    4.5.4 统计数组元素出现的次数 165
    4.5.5 数组联合array_combine 166
    4.5.6 数据合并array_merge 166
    4.5.7 查找数组中键名是否存在 167
    4.5.8 查找数组值是否存在 168
    4.5.9 计算数组中数值元素的和 169
    4.5.10 去除数组中重复的元素值 169
    4.5.11 移动数组内部指针 170
    4.5.12 取得关联数组的键名 170
    4.5.13 访问数组的键名和元素 170
    4.5.14 判断数组的类型 171
    4.5.15 显示数组内容与结构 171
    4.5.16 移除数组中的指定元素 173
    4.5.17 在数组顶部插入元素 174
    4.5.18 在数组任意位置插入元素 174
    4.5.19 数组元素的统计count()函数和sizeof()函数 175
    4.5.20 数组键名与值的对调array_flip()函数 175
    4.5.21 对数组元素分组统计array_values()函数 176
    4.5.22 删除数组首末尾元素 177
    4.5.23 删除数组中任意位置的元素 177
    4.5.24 将数组内容导出为变量extract()函数 179
    4.6 数组遍历(使用FOREACH) 180
    4.6.1 一维索引数组的遍历 180
    4.6.2 一维关联数组的遍历 181
    4.7 使用FOR语句对数组遍历 182
    4.8 使用FOR语句实现树状菜单 182
    4.9 数组遍历LIST()和EACH() 184
    4.10 数组复位RESET()函数 185
    4.10.1 each() 185
    4.10.2 list() 185
    4.11 FOREACH与FOR语句对数组处理的比较 186
    4.12 数组内容过滤 186
    4.13 小结 188

    第二篇 PHP 5核心应用与规范
    第5章 表单——处理用户输入 190
    5.1 表单与HTML 190
    5.2 表单与PHP 190
    5.3 表单设计 191
    5.3.1 文本框 191
    5.3.2 密码文本框 191
    5.3.3 单选项 192
    5.3.4 复选项 192
    5.3.5 下拉列表 193
    5.3.6 表单属性 194
    5.3.7 提交与复位按钮 194
    5.4 GET与POST方法 195
    5.4.1 使用GET方法 195
    5.4.2 使用POST方法 199
    5.4.3 POST方法和GET方法混合使用 200
    5.4.4 POST方法和GET方法的区别 202
    5.4.5 选择POST还是GET 202
    5.5 动态生成表单 202
    5.6 表单的处理方法 205
    5.6.1 检查表单提交的来源 205
    5.6.2 一个完整表单处理 206
    5.7 其他处理表单的方法 208
    5.7.1 使用import_request_variables()函数 208
    5.7.2 使用extract()函数 209
    5.8 多页面间传递数据 210
    5.9 验证表单数据 210
    5.9.1 客户端验证 210
    5.9.2 服务器端验证 211
    5.9.3 避免表单重复提交 211
    5.9.4 表单过期的处理 213
    5.9.5 判断表单动作的技巧 213
    5.10 表单** 214
    5.10.1 处理全局性错误 214
    5.10.2 预防SQL注入 217
    5.11 开发**的代码 218
    5.11.1 用户输入验证 218
    5.11.2 **数据验证:使用ctype 218
    5.11.3 数据过滤 - PECL filter扩展 219
    5.11.4 input_get()函数 220
    5.11.5 路径检测 221
    5.11.6 魔法引用magic_quotes_gpc 221
    5.11.7 其他**的解决方案 221
    5.12 小结 222

    第6章 PHP加密技术 223
    6.1 MD5算法 223
    6.2 SHA-1算法 223
    6.3 CRACKLIB扩展库 224
    6.4 MCRYPT扩展与DES算法 224
    6.4.1 mcrypt加密扩展 225
    6.4.2 mcrypt加密模式 225
    6.4.3 mcrypt初始化向量 226
    6.4.4 mcrypt加密与解密方法 227
    6.5 小结 228

    第7章 PHP国际化与本地化 229
    7.1 I18N和L10N 229
    7.2 字符集与编码 229
    7.2.1 ASCII字符集 230
    7.2.2 ISO-8859字符集 230
    7.2.3 ANSI编码 230
    7.2.4 GB2312与GBK编码 230
    7.2.5 Unicode字符集 231
    7.2.6 正确使用文件编码 232
    7.3 GETTEXT扩展库 232
    7.3.1 设置gettext 233
    7.3.2 php_gettext函数集 233
    7.3.3 编写I18N程序 233
    7.3.4 设置gettext po文件 234
    7.4 系统本地化函数族 236
    7.4.1 setlocale()函数 236
    7.4.2 货币值本地化 237
    7.4.3 使用pc_format_currency( )函数 238
    7.5 ICONV()函数 239
    7.6 MBSTRING扩展库 240
    7.6.1 使用mbstring进行字符串截取 240
    7.6.2 检测字符串编码 241
    7.6.3 mbstring转换编码 241
    7.7 小结 242

    第8章 PHP开发规范 243
    8.1 代码结构 243
    8.1.1 一个脚本服务全部 243
    8.1.2 分离显示逻辑 244
    8.2 良好的编码风格与样式 244
    8.2.1 代码注释 245
    8.2.2 代码缩进 246
    8.2.3 使用必要的空格 246
    8.2.4 SQL编写规范 247
    8.2.5 控制结构 247
    8.2.6 函数的命名 247
    8.2.7 类命名规范 248
    8.2.8 减少出错的技巧 248
    8.3 小结 249

    第9章 PHP 5面向对象开发 250
    9.1 面向对象基础 250
    9.2 PHP 5 面向对象编程概述 251
    9.2.1 类的封装 251
    9.2.2 类的继承 251
    9.3 对象 251
    9.4 创建和使用类 252
    9.5 类的结构与定义 252
    9.6 成员方法 252
    9.7 成员变量与属性 253
    9.8 $THIS关键字 254
    9.9 构造方法 254
    9.10 析构方法 256
    9.11 类的继承与多态 256
    9.11.1 类的继承——extends 256
    9.11.2 数据的隐藏 258
    9.11.3 访问成员变量的约束 258
    9.11.4 设置访问成员方法 259
    9.11.5 类常量 260
    9.11.6 静态成员变量 260
    9.11.7 静态成员方法 262
    9.12 对象传递 262
    9.13 克隆一个对象——CLONE 263
    9.14 对象的比较 263
    9.15 对象类型的检测——INSTANCEOF 264
    9.16 克隆一个成员方法 264
    9.17 类的多态性 265
    9.18 PARENT::与SELF::关键字 267
    9.19 抽象方法与抽象类 267
    9.20 接口的实现 269
    9.21 实现多个接口 270
    9.22 FINAL方法 272
    9.23 FINAL类 272
    9.24 例外与异常处理 273
    9.25 方法中声明类的类型 274
    9.26 重载与多态 275
    9.27 魔术方法 275
    9.27.1 _ _get()与_ _set()方法 275
    9.27.2 _ _call()方法 276
    9.27.3 _ _sleep()与_ _wakeup()方法 277
    9.27.4 _ _toString()方法 277
    9.27.5 _ _autoload()方法 278
    9.28 类映射API REFLECTION 279
    9.29 小结 286

    第10章 PHP会话管理 287
    10.1 概述 287
    10.2 COOKIE管理 287
    10.2.1 什么是Cookie 288
    10.2.2 Cookie工作原理 288
    10.2.3 Cookie应用开发 288
    10.2.4 一个通用的Cookie类 292
    10.2.5 解决方案 293
    10.3 SESSION管理 294
    10.3.1 什么是Session 294
    10.3.2 Session配置 295
    10.3.3 Session应用 297
    10.3.5 Session编码与解码 300
    10.3.6 Session中保存数组 300
    10.3.6 Session中保存对象 301
    10.3.7 Session存取优化 303
    10.3.8 多服务器下共享Session 304
    10.3.9 Session** 307
    10.4 小结 308

    第11章 PHP输入输出缓冲 309
    11.1 缓冲技术简介 309
    11.2 从缓冲读取内容 310
    11.3 使用回调函数 311
    11.4 输出回调函数 311
    11.5 压缩内容输出 312
    11.6 小结 312

    第12章 文件系统与字符流 313
    12.1 文件与路径 313
    12.1.1 分析一个文件的名称与扩展名 313
    12.1.2 利用PHP自带函数分析当前路径 314
    12.1.3 显示相对路径的真实路径 314
    12.2 文件类型与相关信息 314
    12.2.1 filesize()——计算文件的大小 315
    12.2.2 取得文件的建立、*后访问与更新时间 315
    12.2.3 fileperms()——文件属性以及权限 315
    12.2.4 取得文件所有者(Owner) 315
    12.3 文件的顺序读写 315
    12.3.1 文件打开与写入 315
    12.3.2 文件输出 317
    12.3.3 读取文件内容 318
    12.4 文件的非线性读写 318
    12.4.1 fseek()函数 319
    12.4.2 ftell()函数 319
    12.4.3 rewind()函数 319
    12.4.4 parse_ini_file()函数 320
    12.5 自定义日志记录 321
    12.6 目录和磁盘操作 321
    12.6.1 disk_free_space()——统计某个目录的剩余空间 321
    12.6.2 disk_total_space()——显示逻辑磁盘的容量 322
    12.6.3 getcwd()/chdir()函数 322
    12.6.4 opendir()与readdir()函数 322
    12.6.5 实现iterator接口的目录读取 323
    12.7 字符流 324
    12.7.1 流与封装器的原理 325
    12.7.2 PHP 5的预置流包装器 325
    12.7.4 流与封装器的应用 326
    12.7.5 Filter过滤器及其应用 328
    12.7.6 流相关函数 330
    12.7.7 创建自己的流过滤器 331
    12.8 取得HTTPS加密内容 332
    12.9 创建自己的流封装器 333
    12.10 小结 334

    第三篇 MySQL 5与PHP 5接口
    第13章 WEB数据库设计 336
    13.1 数据库和数据库系统的概念 336
    13.2 数据库设计的步骤 337
    13.3 表名与字段名规则 338
    13.4 小结 339

    第14章 MYSQL 5数据库 340
    14.1 MYSQL简介 340
    14.2 MYSQL 5特性 341
    14.2.1 MySQL 5优点 341
    14.2.2 MySQL 5缺点 341
    14.2.3 MySQL 5性能 341
    14.3 MYSQL数据库存储类型 342
    14.4 MYSQL字段类型 343
    14.5 MYSQL字符集与整理 344
    14.5.1 MySQL 5字符集支持的原理 344
    14.5.2 修改MySQL字符集方法 344
    14.6 MYSQL 5应用与管理 345
    14.6.1 登录到MySQL 345
    14.6.2 修改root管理密码 346
    14.6.3 创建数据库 346
    14.6.4 改变数据库存储路径 346
    14.6.5 MySQL权限系统 347
    14.6.6 phpMyAdmin管理工具 350
    14.7 MYSQL管理工具 357
    14.8 小结 357

    第15章 MYSQL数据库 358
    15.1 MYSQL操作与SQL 358
    15.2 检索表中的数据 361
    15.2.1 SELECT 语句 361
    15.2.2 SELECT的聚集函数 362
    15.2.3 结果集排序 362
    15.2.4 函数 362
    15.2.5 关联查询 362
    15.3 **SQL技术 364
    15.3.1 主键 364
    15.3.2 子查询 365
    15.3.3 联合查询 365
    15.4 MYSQL事务处理与触发器 365
    15.4.1 存储进程 365
    15.4.2 触发器(trigger) 366
    15.4.3 视图 366
    15.4.4 PHP与MySQL字符集 367
    15.5 小结 368

    第16章 PHP与MYSQL 369
    16.1 PHP5与MYSQL连接的MYSQL扩展 369
    16.2 数据库查询 370
    16.3 其他显示记录集的函数 372
    16.4 PHP 5与MYSQL的新接口MYSQLI 375
    16.5 智能选择MYSQL扩展 384
    16.6 小结 387

    第17章 PHP数据库抽象层 388
    17.1 什么是数据库抽象层 388
    17.2 常用的数据库抽象层 389
    17.2.1 PEAR:DB 389
    17.2.2 ADODB 390
    17.2.3 Metabase 390
    17.2.4 MDB 391
    17.2.5 MDB2 391
    17.2.6 Creole 392
    17.2.7 PDO 392
    17.2.8 PHPLib 392
    17.3 PDO数据库抽象类 392
    17.3.1 PDO简介 392
    17.3.2 PDO的安装 393
    17.3.3 PDO连接数据库 393
    17.3.4 使用PDO查询 394
    17.3.5 错误与异常处理 395
    17.3.6 取得查询结果 397
    17.4 ADODB 401
    17.4.1 使用ADODB 401
    17.4.2 ADODB安装 402
    17.4.3 启动ADODB 402
    17.4.4 ADODB的查询方法 403
    17.4.5 移动记录集 403
    17.4.6 使用ADODB生成HTML 404
    17.4.7 使用ADODB进行分页 404
    17.4.8 生成下拉选择菜单 404
    17.4.9 ADODB开发实例 404
    17.5 PHPLIB 416
    17.5.1 使用PHPLib查询 416
    17.5.2 创建GetAll方法 418
    17.6 小结 419

    第四篇 PHP 5进阶与技巧
    第18章 SMARTY与模板技术 421
    18.1 MVC简介 421
    18.2 模板系统 422
    18.3 SMARTY概述 422
    18.3.1 Smarty的优点 422
    18.3.2 Smarty开发特性 423
    18.4 安装SMARTY 423
    18.5 SMARTY开发基础 425
    18.5.1 **个模板程序 425
    18.5.2 编译后的模板 426
    18.5.3 Smarty区块 427
    18.5.4 Smarty注释 427
    18.5.5 Smarty变量与变量格式化 427
    18.6 SMARTY的控制结构 430
    18.6.1 IF分支结构 430
    18.6.2 循环结构 432
    18.6.3 Smarty生成表单元素 440
    18.6.4 Smarty文件包含 442
    18.7 SMARTY缓存 443
    18.8 深入SMARTY开发 444
    18.8.1 register_function 444
    18.8.2 register_block 444
    18.8.3 register_modifier 444
    18.8.4 在模板内运行PHP代码 445
    18.8.5 几个重要的模板修饰符 445
    18.8.6 Smarty的保留变量 446
    18.8.7 模板配置文件 447
    18.8.8 Smarty工作台 447
    18.8.9 Smarty生成静态页面 448
    18.8.10 制作在线日历 448
    18.8.11 Smarty与ADODB 449
    18.9 小结 451

    第19章 PHP和AJAX技术 452
    19.1 AJAX简介 452
    19.2 AJAX特性 453
    19.3 XAJAX简介 453
    19.4 XAJAX如何工作 453
    19.5 异步更新内容 454
    19.6 异步处理表单数据 456
    19.7 增加自定义功能 457
    19.8 解决乱码 457
    19.9 SMARTY与XAJAX 457
    19.10 小结 459

    第20章 使用PHP编写SHELL 460
    20.1 简介 460
    20.2 PHP CLI SHELL脚本 460
    20.2.1 CLI 与CGI的区别 460
    20.2.2 CLI的配置参数 460
    20.3 PHP命令行接口(CLI) 461
    20.4 CLI命令选项 462
    20.5 CLI开发 463
    20.6 CLI实际应用 467
    20.7 小结 470

    第21章 PHP网络开发 471
    21.1 SOCKET技术 471
    21.1.1 Socket原理 471
    21.1.2 建立一个连接 472
    21.1.3 发送一个请求 472
    21.1.4 查询Whois信息 473
    21.1.5 创建自己的Socket服务器 474
    21.2 电子邮件 475
    21.2.1 电子邮件简介 475
    21.2.2 MTA和SMTP 475
    21.2.3 PHP邮件配置 476
    21.2.4 电子邮件头 477
    21.2.5 MIME 477
    21.3 使用MAIL()函数 479
    21.4 使用SOCKET发送邮件 481
    21.5 获取远程内容与自动化 482
    21.5.1 使用CURL 482
    21.5.2 使用Snoopy类 484
    21.5.3 FTP操作 486
    21.5.4 PHP与网络协议 488
    21.6 小结 488

    第22章 PHP文件上传 489
    22.1 文件上传简介 489
    22.2 处理上传文件 490
    22.3 处理多文件上传 494
    22.4 突破上传的内存限制 496
    22.5 小结 496

    第23章 图片与媒体处理 497
    23.1 使用GD2扩展库 497
    23.1.1 打开一张图片 498
    23.1.2 打开任意格式的图片 498
    23.1.3 显示和保存图片 499
    23.1.4 图片转换 500
    23.1.5 创建文字图片 501
    23.1.6 绘制图形 502
    23.1.7 创建验证码——CAPTCHA 503
    23.1.8 缩略图片处理 504
    23.1.9 创建水印图片 506
    23.2 使用MING扩展创建FLASH 508
    23.2.1 创建按钮 508
    23.2.2 静态文字 509
    23.2.3 动态文字 510
    23.2.4 绘制图形 511
    23.2.5 使用图片 512
    23.3 使用IMAGEMAGICK 513
    23.3.1 ImageMagick简介 513
    23.3.2 安装ImageWand 514
    23.3.3 读取图片内容 514
    23.3.4 读取图片尺寸 515
    23.3.5 图片裁切 515
    23.3.6 生成图片缩略图 515
    23.3.7 转换图片格式 516
    23.3.8 控制图片旋转 516
    23.3.9 重新缩放图片 517
    23.3.10 加入渲染效果 517
    23.3.11 压缩JPEG图片 518
    23.4 小结 518

    第24章 XML与RSS 519
    24.1 XML 519
    24.1.1 XML的结构与定义 519
    24.1.2 XML与HTML 520
    24.2 创建与解析XML文档 521
    24.2.1 创建一个XML文档 522
    24.2.2 使用SAX解析XML 523
    24.2.3 DOM 525
    24.2.4 SimpleXML 529
    24.3 RSS聚合与解析技术 530
    24.3.1 RSS简介 530
    24.3.2 RSS 0.9 530
    24.3.3 RSS3 1.0 531
    24.3.4 RSS 2.0 532
    24.3.5 Atom 534
    24.4 XML READER 536
    24.5 XML与SMARTY 537
    24.6 小结 537

    第25章 WEB服务与SOAP 538
    25.1 WEB服务 538
    25.1.1 Web服务概述 538
    25.1.2 Web服务的特点 539
    25.2 SOAP的消息体 540
    25.2.1 SOAP封套(SOAP Envelope) 540
    25.2.2 SOAP头(SOAP Header) 540
    25.2.3 SOAP错误信息(SOAP Fault) 540
    25.2.4 消息体(SOAP Body) 541
    25.3 PHP中的SOAP配置 541
    25.4 使用PHP开发SOAP应用 542
    25.4.1 WSDL 542
    25.4.2 建立SOAP服务器端 545
    25.4.3 建立SOAP客户端 546
    25.5 小结 546

    第26章 PHP与WAP技术 547
    26.1 WAP技术简介 547
    26.2 WAP配置 547
    26.3 WAP页面 548
    26.3.1 WAP页面简介 548
    26.3.2 WAP页面跳转 548
    26.3.3 使用WAP制作登录页面 550
    26.4 SMARTY与WAP 554
    26.5 小结 554

    第五篇 PHP 5调试、升级与优化
    第27章 错误与异常处理 556
    27.1 概述 556
    27.2 错误的类型 556
    27.2.1 编程错误 556
    27.2.2 未定义符号 557
    27.2.3 轻量级错误 559
    27.2.4 PHP产生的错误 560
    27.2.5 错误与例外处理 562
    27.3 小结 567

    第28章 升级到PHP5 568
    28.1 简介 568
    28.2 对象的引用 568
    28.3 构造对象 569
    28.4 GET_CLASS()函数 569
    28.5 IS_A()函数与INSTANCE OF 569
    28.6 E_STRICT 570
    28.6.1 自动建立对象 570
    28.6.2 var与public 570
    28.7 其他兼容性的问题 570
    28.7.1 命令行接口 570
    28.7.2 旧的**全局数组的升级 570
    28.7.3 函数修正与功能升级 571
    28.8 小结 571

    第29章 PHP优化技巧 572
    29.1 PHP脚本级优化 572
    29.1.1 require比require_once快 573
    29.1.2 不做重复的车轮 573
    29.2 使用代码优化工具 574
    29.3 缓存加速 575
    29.3.1 使用eAccelerator 575
    29.3.2 使用APC 577
    29.4 HTTP加速 578
    29.4.1 HTTP头信息 578
    29.4.2 启用GZIP内容压缩 578
    29.5 MYSQL性能优化 578
    29.5.1 添加索引 578
    29.5.2 MySQL缓存与性能调优 579
    29.6 MYSQL日志维护 581
    29.7 数据库外部优化 581
    29.7.1 服务器硬件优化 581
    29.7.2 磁盘优化 582
    29.7.3 操作系统优化 582
    29.8 使用反向代理 582
    29.9 APACHE服务器优化 583
    29.10 内容压缩与优化 583
    29.11 分布与负载均衡 584
    29.12 小结 586


    第2部分 实战PHP5

    第30章 实例开发:会员 589
    30.1 概述 589
    30.2 页面流程 589
    30.2.1 用户注册流程 589
    30.2.2 用户登录流程 590
    30.3 数据库结构 590
    30.4 UI与界面 593
    30.5 目录结构与文件说明 595

    第31章 实例开发: 603
    31.1 目录结构与文件说明 603
    31.2 页面流程 603
    31.2.1 创建圈子 603
    31.2.2 管理圈子 604
    31.2.3 加入其他人创建的圈子 605
    31.3 数据库结构 605
    31.4 UI与界面 608

    第32章 实例开发:爱问系统 610
    32.1 概述 610
    32.2 页面流程 610
    32.3 目录结构与文件说明 612
    32.4 UI与界面 613
    32.5 数据库结构 617

    第33章 实例开发:多用户 619
    33.1 概述 619
    33.2 目录结构与文件说明 619
    33.3 页面流程 620
    33.4 UI与界面 620
    33.5 数据库结构 621
    33.6 小结 623

    附录A PHP在线资源 592
    附录B Zend Core安装 593
    附录C PHP扩展开发 599
    附录D MySQL字符集与整理 601
    附录E 代码页与Charset对照表 605
    附录F php.ini配置详解 606
    附录G HTTP返回代码表(RFC2068) 626

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外