PHP100视频教程1:环境配置与代码调试
PHP100视频教程2:PHP的数据类型与源码调试
PHP100视频教程3:常用PHP运算类型介绍与应用
PHP100视频教程4: PHP条件语句介绍与应用
PHP100视频教程5:PHP循环语句的介绍与应用
PHP100视频教程6:PHP数组的创建修改应用
PHP100视频教程7:PHP函数和自定义函数
PHP100视频教程8:Mysql 简介和创建新的数据库
PHP100视频教程9:数据库中的常用SQL语句
PHP100视频教程10:MYSQL在PHP5中的应用
PHP100视频教程11:学习制作PHP+MYSQL留言板(上)
PHP100视频教程12:学习制作PHP+MYSQL留言板(下)
PHP100视频教程13:PHP+MYSQL分页原理
PHP100视频教程14:PHP上传原理及应用
PHP100视频教程15:PHP生成HTML文件原理
PHP100视频教程16:PHP小偷程序原理和实例
PHP100视频教程17:PHP面向对象开发的学习(一)
PHP100视频教程18:PHP面向对象开发的学习(二)
PHP100视频教程19:PHP面向对象开发的学习(三)
PHP100视频教程20:PHP面向对象开发的学习(四)
PHP100视频教程21:PHP面向对象开发的学习(五)
PHP100视频教程22:PHP面向对象开发的学习(六)
PHP100视频教程23:PHP面向对象开发的学习(七)
PHP100视频教程24:PHP面向对象开发的学习(八)
PHP100视频教程25:PHP面向对象开发的学习(九)
事务处理:
a.保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败
mysql_query("BEGIN");
mysql_query("INSERT INTO customerinfo (name) VALUES ('$name1')";
mysql_query("SELECT * FROM `orderinfo` where customerid=".$id");
mysql_query("COMMIT");
锁定表,优化事务处理:
a.我们用一个 SELECT 语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中。
包含有 WRITE 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 命令被执行之前,
不会有其它的访问来对 inventory 进行插入、更新或者删除的操作
mysql_query("LOCK TABLE customerinfo READ, orderinfo WRITE");
mysql_query("SELECT customerid FROM `customerinfo` where id=".$id);
mysql_query("UPDATE `orderinfo` SET ordertitle='$title' where customerid=".$id);
mysql_query("UNLOCK TABLES");
使用外键,优化锁定表
a.把customerinfo里的customerid映射到orderinfo里的customerid,
任何一条没有合法的customerid的记录不会写到orderinfo里
CREATE TABLE customerinfo
(
customerid INT NOT NULL,
PRIMARY KEY(customerid)
)TYPE = INNODB;
CREATE TABLE orderinfo
(
orderid INT NOT NULL,
customerid INT NOT NULL,
PRIMARY KEY(customerid,orderid),
FOREIGN KEY (customerid) REFERENCES customerinfo
(customerid) ON DELETE CASCADE
)TYPE = INNODB;
注意:'ON DELETE CASCADE',该参数保证当customerinfo表中的一条记录删除的话同时也会删除order
表中的该用户的所有记录,注意使用外键要定义事务安全类型为INNODB;
(普通索引)->
创建:CREATE INDEX <索引名> ON tablename (索引字段)
修改:ALTER TABLE tablename ADD INDEX [索引名] (索引字段)
创表指定索引:CREATE TABLE tablename([...],INDEX[索引名](索引字段))
(唯一索引)->
创建:CREATE UNIQUE <索引名> ON tablename (索引字段)
修改:ALTER TABLE tablename ADD UNIQUE [索引名] (索引字段)
创表指定索引:CREATE TABLE tablename([...],UNIQUE[索引名](索引字段))
(主键)->
它是唯一索引,一般在创建表是建立,格式为:
CREATA TABLE tablename ([...],PRIMARY KEY[索引字段])
this是指向当前对象的指针;
self是指向当前类的指针 指向类本身,也就是说self不指向任何已经实例化的对象。一般用来指向类中的静态变量
::域运算符
parent是指向父类的指针
(第13讲) PHP+MYSQL分页原理
1、SQL语句中的limit用法
2、学习分页的一种公式
3、parse_url()解析URL函数
4、$_SERVER["REQUEST_URI"]
$_GET[]:获取通过地址栏提交的值
$_POST[]:获取通过表单提交的值
$_SESSION[]:获取保存SESSION的值
————————————————————————————————————
(第14讲) PHP上传原理及应用
1、FORM标签enctype属性
2、$_FILES 系统函数
3、move_uploaded_file函数
4、is_uploaded_file 函数 判断上传MIME类型的文件函数
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,
这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;
只有使用了multipart/form-data,才能完整的传递文件数据
$_FILES
$_FILES['myFile']['name'] 客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 储存的临时文件名,一般是系统默认。
$_FILES['myFile']['error'] 该文件上传相关的错误代码。
————————————————————————————————————
error:
0; 文件上传成功。
1; 超过了文件大小php.ini中。
2; 超过了文件大小
MAX_FILE_SIZE 选项指定的值。
3; 文件只有部分被上传。
4; 没有文件被上传。
5; 上传文件大小为0。
————————————————————————————————————
(第15讲) PHP生成HTML文件原理
1、PHP部分文件操作函数
( fopen ,fread ,filesize,fwrite,fclose )
2、unlink() 删除成功 true
rmdir() 删除函数
————————————————————————————————————
(第16讲) PHP小偷程序原理和实例
1、初识正则表达式 用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割
、匹配、查找及替换操作。
2、正则表达式函数 ereg() eregi()
3、file_get_contents 读取整个文件函数
4、写一个天气预报小偷的程序
————————————————————————————————————
(第17讲) PHP面向对象开发的学习(一)
、什么是面向对象,什么是类
2、使用CLASS创建一个类
3、类的成员属性和成员方法
4、使用new函数对象实例化
==========================================================================
(第24讲) PHP面向对象开发的学习(八)
1、多态的介绍与优势
多态性是继抽象和继承后,面向对象语言的第三个特征。从字面上理解,多态的意思是“多种形态”,简单来说,多态是具有表现多种形态的能力的特征,在OO中是指“语言具有根据对象的类型以不同方式处理。
2、运算符 :instanceof
instanceof 用来测定一个给定的对象是否来自指定的对象类。
3、多态的简单应用
==========================================================================
(第25讲) PHP面向对象开发的学习(九)
1、PHP对象描述的配置
方法名 __tostring() 我们可以直接打印对象句柄,从而获得该方法的基本信息或其他内容。
2、对象方法的异常处理
方法名 __call($funname,$arr_value)
调用一些不存在的对象方法的异常处理,使程序继续正常运行。
因为参数会有多个所要
用数组的方式保存,打印
的时候也要就用print_r 输出
3、克隆对象的应用
方法名 __clone()
通过克隆的方式我们可以在内存中生成两个一样的对象或升级原对象。
赋值: 内存中只有一个对象
克隆: 内存中有2个对象
__destruct()清理内存
4、自动载入对象的方法
方法名 __autoload()
快速取得对象名称并自动载入进当前页面
==========================================================================
-------------------------------------------------------------------------------
PHP100视频教程26:制作自己的PHP+MYSQL的类
-------------------------------------------------------------------------------
1、巩固学习常用MYSQL函数
2、使用类封装常用SQL操作,简化代码
3、认识面向对象在开发中的重要作用
1、private 私有属性关键字
2、__construct 初始化方法名
3、常用mysql函数
4、常用SQL语句
-------------------------------------------------------------------------------
PHP100视频教程27:PHP模板引擎Smarty入门使用
-------------------------------------------------------------------------------
PHP100视频教程28:PHP模板引擎Smarty的变量操作符
-------------------------------------------------------------------------------
a 什么是Smarty变量操作符
php模板引擎smarty内置的一些操作函数,我们称之为变量操作符,变量操作符
可用于操作变量,自定义函数和字符。(跟我PHP中常用的PHP内部函数类似
他可以帮助我们完成很多比较实用的功能,如:首字母大写,拆分,替换,截取…
更像是我们提前写好的一些PHP常用类...
b 如何使用Smarty变量操作符
语法中使用"|"应用变量操作符,多个参数用":" 分隔开来
{$name|truncate:10:"..."} 截取前十个字符 多则用...代替
capitalize [首字母大写]
count_characters [计算字符数]
cat [连接字符串]
count_paragraphs [计算段落数]
count_sentences [计算句数]
count_words [计算词数]
date_format [时间格式]
efault [默认]
escape [转码]
indent[缩进]
lower[小写 ]
nl2br[换行符替换成<br />]
regex_replace[正则替换]
replace[替换]
spacify[插空]
string_format[字符串格式化]
strip[去除(多余空格)]
strip_tags[去除html标签]
truncate[截取]
upper[大写]
wordwrap[行宽约束]
c 常用的20个变量操作符
-----------------------------------------------------------------------------------
PHP100视频教程29:PHP模板引擎Smarty内置函数
PHP100视频教程30:PHP模板引擎Smarty缓存应用
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
PHP100视频教程31:PHP在线编辑器fckeditor应用
-----------------------------------------------------------------------------------
在线排版,方便用户和编辑操作,图片,文字,视频等功能生成对应的
HTM代码的编辑器,fckeditor 是其中一个做的比较好的一类编辑器
$sBasePath = $_SERVER['PHP_SELF'] ;
$sBasePath = dirname($sBasePath).'/';
$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath = $sBasePath ;
dirname ,取得路径目录命的函数
$oFCKeditor->Create(); 创建一个窗口出来
$oFCKeditor->Value='初始值';
-----------------------------------------------------------------------------------
PHP100视频教程32:PHP5中Cookie与 Session详解
PHP100视频教程33:PHP5中图片验证码的制作(上)
PHP100视频教程34:PHP5中图片中文验证码(下)
PHP100视频教程35:PHP5文字图片混合水印与缩略图
PHP100视频教程36:PHP中正则表达式学习及应用(一)
-----------------------------------------------------------------------------------
①a-z A-Z _ 0-9 //最常见的字符
②(abc) (skd) //用圆括号包含起来的单元符合
③[abcs] [^abd] //用方括号包含的原子表,原子表中的^代表排除或相反内容
④转义字符
\d 包含所有数字[0-9]
\D 除所有数字外[^0-9]
\w 包含所有英文字符[a-zA-Z_0-9]
\W 除所有英文字符外[^a-zA-Z_0-9]
\s 包含空白区域如回车、换行、分页等 [\f\n\r]
……
两种正则使用的区别
preg('#abc#','adbjdjkdjfkdsajfdsakjf',#arr)
preg('/abc/','adbjdjkdjfkdsajfdsakjf',#arr)
ereg('abc','adbjdjkdjfkdsajfdsakjf',#arr)
()括号括起来表示整体匹配
[] 方括号匹配其中任意的
\\ 两个反斜杠 代表前面括号里面输入什么,后面括号里就输入什么。
就是调用第一个小括号中里面的内容,//2就是第二个小括号的,以此类推。。。
-----------------------------------------------------------------------------------
PHP100视频教程37:PHP中正则表达式学习及应用(二)
PHP100视频教程38:PHP中正则表达式学习及应用(三)
——————————————————————————————————正则表达式中的“模式修正符”
1、运算顺序
依然遵循从左到→右的运算规则
( ) 圆括号因为是内存处理所以最高
* ? + { } 重复匹配内容其次
^ $ \b 边界处理第三
| 条件处理第四
最后按照运算顺序计算匹配
2、模式修正符
模式修正符是为正则表达式增强和补充的一个功能,使用在正则之外
/ 正则 / U
i 正则内容在匹配时候不区分大小写(默认是区分的)
m 在匹配首内容或者尾内容时候采用多行识别匹配
S 将转义回车取消是为单行匹配如. 匹配的时候
x 忽略正则中的空白
A 强制从头开始匹配
D 强制$匹配尾部无任何内容 \n
U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束,
常用在采集程序上的正则表达式
/n 就是回车
——————————————————————————————————
PHP100视频教程39:PHP中正则表达式学习及应用(四)
PHP100视频教程40:PHP中开发自己的-UBB代码
PHP100视频教程41:PHP站内搜索、多关键字、加亮显示
PHP100视频教程42:PHP通过mail()或Socket发邮件
PHP100视频教程43:PHP中MVC学习之ThinkPHP(上)
PHP100视频教程44:PHP中MVC学习之ThinkPHP(下)
PHP100视频教程45:如何用PHP开发一个完整的网站
PHP100视频教程46:PHPMyAdmin功能操作详解
PHP100视频教程47:PHP输出CSV和EXCEL两种简单的方法
PHP100视频教程48:Ajax+PHP快速上手及应用
——————————————————————————————————
xmlHttp = new XMLHttpRequest();
这对于规范的Js支持的浏览器来讲是没错的
恰恰相反IE却就不支持,所以没办法我们只能
做个判断再创建一个IE支持的
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
——————————————————————————————————
PHP100视频教程49: Ajax+PHP打造等待进度条效果(二)
——————————————————————————————————
——————————————————————————————————
PHP100视频教程50: Ajax+PHP检查用户名或邮件(三)
PHP100视频教程51:PHP+MYSQL会员系统的开发(上)
——————————————————————————————————————————————————
1、学会使用常量提高md5安全性
2、Cookie/ Session 少用明文信息
3、Session安全性要大于Cookie
4、使用Cookie/ Session读取信息
尽量增加判断信息
5、Cookie/ Session内容要精简
6、对于错误信息及时销毁Cookie/ Session
——————————————————————————————————————————————————
PHP100视频教程52:PHP+MYSQL会员系统的开发(下)
——————————————————————————————————————————————————————————————————————————————————————————————————无交叉,实现顺序权限控制,可实现多层,也就是上一层
永远大于下一层的权限,常用在留言板,CMS、后台
论坛等程序当中,不适合在ERP,OA等类型系统中使用
设置技巧:
为了实现权限的无限层级配置,最高层应使用最小值来
做权限标志位,方便下行可用无线累计的空间
——————————————————————————————————————————————————————————————————————————————————————————————————
PHP100视频教程53:PHP如何防止注入及开发安全
——————————————————————————————————————————————————————————————
1、PHP注入的基本原理
程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对
用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据
库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的
SQL Injection,即SQL注入。 受影响的系统:对输入的参数不进行检查和过滤的系统
2、防止注入的几种办法
function inject_check($sql_str) {
return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file
|outfile', $sql_str); // 进行过滤
}
Addslashes(需要被过滤的内容)
3、PHP其他地方安全设置
——————————————————————————————————————————————————————
PHP100视频教程54:Apache Rewrite 拟静态配置
———————————————————————————————————————————————————————————————
1、mod_rewrite 简介和配置
Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等
Apache配置:
支持httpd.conf 配置和目录 .htaccess配置
启用rewrite
# LoadModule rewrite_module modules/mod_rewrite.so
去除前面的 #
LoadModule rewrite_module modules/mod_rewrite.so
然后重启apache
启用.htaccess
AllowOverride None 修改为: AllowOverride All
2、mod_rewrite 规则的使用
RewriteEngine on 启动rewrite引擎,所有的rewrite之前必须启用这一句
RewriteCond %{HTTP_HOST} !^www.php100.com [NC] 地址重写 !不等于 ^最开始 [NC] 规则修正符,不区分大小写
RewriteRule ^/(.*) http://www.php100.com/ [L] rewrite 规范
--------
RewriteEngine on
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
3、mod_rewrite 规则修正符
1) R 强制外部重定向 -- 跳转到真实地址
2) F 禁用URL,返回403HTTP状态码。 -- HTTP的一个协议403
3) G 强制URL为GONE,返回410HTTP状态码。 -- HTTP返回错误头,这个页面永久消失
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。 --停止分析以后的规则
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联8) T=MIME-type(force MIME type) 强制MIME类型
8)T
9) NS 只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符 \%3d$1 等价于 =$1
(.*) 代表任何格式
支持.htaccess
配置 AllowOverride all
Options all 可以改为all
————————————————————————————————————————————————————————————————
PHP100视频教程55:PHP5中使用PDO连接数据库
——————————————————————————————————————————————————————————————
1、PDO 简介 和 配置
PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的
php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、
php_mssql.dll、php_sqlite.dll等等
PHP6中也将默认使用PDO的方式连接,mysql扩展将被作为辅助
两个冒号(::)是对类中的方法的静态引用
也就是不需要实例化对象,直接通过类名对类中的方法进行引用
2、PDO 如何连接 MYSQL
new PDO(“连接信息”, 'root', '', array(PDO::ATTR_PERSISTENT => true));
3、PDO 常用方法及其使用
PDO::query() 主要是用于有记录结果返回的操作,特别是SELECT操作
PDO::exec() 主要是针对没有结果集合返回的操作,如INSERT、UPDATE等操作
PDO::lastInsertId() 返回上次插入操作,主键列类型是自增的最后的自增ID
PDOStatement::fetch() 是用来获取一条记录
PDOStatement::fetchAll() 是获取所有记录集到一个中
——————————————————————————————————————————————————————————————
PHP100视频教程56:制作PHP安装程序的原理和步骤
——————————————————————————————————————————————————————————————————————————————————————————————————1、制作PHP安装程序的原理和步骤
2、制作安装用到的PHP函数
3、制作安装的注意事项
is_writable() 检查文件是否可写,用来判断文件权限, 同类函数还有is_readable() 检查文件是否可读,返回布尔值
is_writable() 检查文件是否可写,用来判断文件权限, 同类函数还有is_readable() 检查文件是否可读,返回布尔值
fopen () 文件操作函数,打开一个文件或新建 fwrite () 文件操作函数,写入内容到文件 rename() 文件操作函数,给文件改名
————————————————————————————————————————————————————————————————————————————————————————————
PHP100视频教程57:PHP备份数据库原理和方法
——————————————————————————————————————————————————————————————————————————————————————————————————
1、PHP备份数据库的原理
2、PHP中mysql相关函数
3、备份时候的注意事项
mysql_list_tables() 表查询函数,类似mysql_query() 函数
mysql_fetch_field() 字段信息函数,返回句柄
Name 字段的名称
Table 字段所属数据表的名称
Type 字段的类型
max_length 字段的最大长度
not_null 字段是否不能为空,是,则这一项的值为1
primary_key 字段是否为主键,是,则这一项的值为1
unique_key 字段是否为unique键,是,则这一项的值为1
multiple_key 字段是否不为unique键,是,则这一项的值为1
Numeric 字段是否为数字型,是,则这一项的值为1
Blob 字段是否为blob型,是,则这一项的值为1
Unsigned 数字型的字段是否为unsigned的,是,则这一项的值为1
Zerofill 数字型的字段是否为zerofilled的,是,则这一项的值为1
备份数据库主要备份 数据库结构和 数据库数据。
1、注意数据库的大小,过大或者过多的表分段处理
2、生成的SQL文件名或者存放不易被猜到
3、备份生成文件可以表或者自动为单位保存
4、可以使用ZIP组件压缩生成的文件以便保持
——————————————————————————————————————————————————————————————
PHP100视频教程58:快速设计一个企业网站之BIWEB
——————————————————————————————————————————————————————————————
1、企业网站都有哪些基本功能
2、如何写企业网站评估报告
3、神奇的BIWEB积木式建站系统
——————————————————————————————————————————————————————————————
PHP100视频教程59:关于BIWEB常见问题和结构分析
PHP100视频教程60:PHP与数据库代码开发规范
PHP100视频教程61:PHP+Mysql新闻系统的开发一
——————————————————————————————————————————————————————————————
1、设计新闻系统简单的UML模
UML设计工具 powerdesigner diagramdesigner
2、设计所需的环境、模块、模板样式
3、数据库UML设计和创建数据库结构
——————————————————————————————————————————————————————————————
PHP100视频教程62:PHP+Mysql新闻系统的开发二
——————————————————————————————————————————————————————————————
1、建立底层结构和文件夹
构建文件夹结构,万能扩展结构 相互连接文件和配置
2、连接相关类和配置数据库
3、调试后台和登录功能
————————————————————————————————————————————————————————
PHP100视频教程63:PHP+Mysql新闻系统的开发三(上)
————————————————————————————————————————————————————————
————————————————————————————————————————————————————————
PHP100视频教程64:PHP+Mysql新闻系统的开发四
PHP100视频教程65:PHP+Mysql新闻系统的开发五
PHP100视频教程66:PHP+Mysql新闻系统的开发六
PHP100视频教程67:PHP+Mysql新闻系统的开发七
——————————————————————————————————————————————————————————
注意事项:
1、配置模板图片,Css路径
2、尽可能的将变量写入数组
3、模板文件名尽可能的与PHP文件相关
4、为了方便使用书写通用调用方法,将header.php footer.php独立出来
——————————————————————————————————————————————————————————
PHP100视频教程68:PHP+Mysql新闻系统的开发八
PHP100视频教程69:PHP+Mysql新闻系统的开发九
PHP100视频教程70:PHP 5.3.1 + Apache + Mysql配置
————————————————————————————————————————————————————————
Apache
LoadModule php5_module C:/WAMP/PHP/php5apache2_2.dll
PHPIiniDir "C:/WAMP/PHP5.3.1" 默认去C盘查找
AddType application/x-httpd-php .php .phtml
PHP配置文件PHP.ini
php.ini-development、 php.ini-production 修改为php.ini
extension_dir
————————————————————————————————————————————————————————
PHP100视频教程71:PHP SQLite 的使用和配置
————————————————————————————————————————————————————————ACID 数据库事务标准 SQLite 轻型的数据库
PHP+SQLite——>ASP+Access
SQLite的数据库是个独立的文件,和程序一样保持在web目录下即可。
1、PHP 中 SQLite 简介 和 特点
特点:
1、SQLite数据库足够小, 大致3万行C代码, 共计250K左右
2、配置简单,支持各类平台:Windows/Linux/Unix/MAC
3、最大的数据库支持2T ------- 1T = 1024G
4、SQLite支持无数据库类型 (为提高效率不建议)
5、SQLite完全开源,懂得C的朋友可以下载源码完善它
2、在PHP中如何开启使用 SQLite
在PHP 5.1.x 以后自带了 SQLtie 数据库功能,只需要在配置中开启即可
PHP.ini
;extension=php_sqlite.dll
在PHP 5.2.x 以后自带了 SQLtie PDO数据库功能,只需要在配置中开启即可
PHP.ini
;extension=php_pdo_sqlite.dll
3、创建SQLite 数据库的两种方法
使用PHP函数直接开启建立
通过SQLiteManager来创建管理 SQLite 数据库文件
4、SQLiteManager 简单实用和配置
————————————————————————————————————————————————————
PHP100视频教程72:PHP+SQLite 常用函数及应用
——————————————————————————————————————————————————————————
sqlite_open(数据库名,模式,错误信息) 数据库名 有则连接,无则自动建立;模式 对数据库操作的读写模式默认0666 返回数据库错误信息
sqlite_query(数据库连接参数,SQL参数)
sqlite_num_rows(SQL返回句柄)
sqlite_last_insert_rowid(数据库连接参数)
sqlite_fetch_array(SQL返回句柄,返回索引)
返回索引:
SQLITE_ASSOC 只会返回关联索引(有名称字段)而
SQLITE_NUM 只会返回数字索引(有序字段数)。
SQLITE_BOTH 会同时返回关联和数字索引。
SQLITE_BOTH 是本函数的默认值
——————————————————————————————————————————————————————————
PHP100视频教程73:PHP MemCached高级缓存配置
——————————————————————————————————————————————————————————————
memcached.exe -d install
memcached.exe -d start
telnet 11211
exit
quit
——————————————————————————————————————————————————————————————
PHP100视频教程74:PHP MemCached 高级缓存应用
——————————————————————————————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————————————————————
PHP100视频教程75:Zend framework 配置与调试
————————————————————————————————————————————————————————
——————————————————————————————————————————|
ZF 需要5.2.0以上才可以运作
PDO
rewrite
基于MVC
有丰富和开源的组件
application MVC文件夹
controllers 控制文件夹
models 模块文件夹
views 模板文件夹
library
zend zend文件夹
public 公共配置文件夹
缺点:配置复杂,门槛较高,OOP,MVC
————————————————————————————————————————————————————————————————————————————————————————————————
PHP100视频教程76:Zend framework 数据库操之读取与插入
PHP100视频教程77:Zend framework数据库操作之编辑和视图函数
PHP100视频教程78:PHP+Flash多文件异步上传 swfupload
————————————————————————————————————————————————————————
1、 多文件选取异步上传的原理
2、 swfupload 介绍 和 相关使用 3、实例操作和实现数据库插入
3、实例操作和实现数据库插入
getcwd() 获取绝对路径。
move_uploaded_file
————————————————————————————————————————————————————————
PHP100视频教程79:PHP上传RAR压缩包并解压目录
————————————————————————————————————————————————————————system() 输出并返回最后一行shell结果。 exec() 不输出结果,返回最后一行shell结果 passthru() 只调用命令,把运行结果原样地输出 new com() 系统预定义com类,根据需要任意选择内置方法
相同点:都可以获得命令执行的状态码
$obj=new com("wscript.shell");
$obj->run(“所要执行的命令内容”);
———————————————————————————————————————————————————————
PHP100视频教程80:ADODB PHP 数据库万能引擎类(上)
————————————————————————————————————————————————————————
ADODB 是一种兼容的各类数据库应用程序接口(API),支持的数据库种类非常地多,
例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro,
Access, ADO, Sybase, DB2 以及一般的 ODBC
特点:
1、ADODB 在PHP中规范各类数据库的链接和使用
2、ADODB 帮助我们在PHP提供开发效率和快速转换各类数据库
3、ADODB 使用相对简单,容易上手
4、ADODB 写作要求有时要求比较严谨,注意大小写。
5、ADODB 内置函数比较丰富可以快速和自动的帮助我们完成一些比较复杂的工作
————————————————————————————————————————————————————————
PHP100视频教程81:ADODB PHP 数据库万能引擎类(下)
——————————————————————————————————————————————————————————————
1、 PHP ADODB 地址方式连接数据库
$db = NewADOConnection('mysql://root:pwd@localhost/upload');
$sql="SELECT * FROM `pic`";
echo $db->SetFetchMode(ADODB_FETCH_NUM);
$sr1 = $db->Execute($sql);
print_r($sr1->fields);
2、 PHP ADODB 对象方式获取数据库内容
$db = NewADOConnection('mysql');
$db->PConnect("localhost", "root", "", "upload");
$sql="SELECT * FROM `pic`";
$rs2=$db->Execute($sql);
while($row=$rs2->FetchNextObject()){
print_r($row);
}
3、 PHP ADODB HTML代码方式显示内容
include_once("adodb5/tohtml.inc.php");
$db = NewADOConnection('mysql');
$db->Connect("localhost", "root", "", "upload");
$sql="SELECT * FROM `pic`";
$rs2=$db->Execute($sql);
echo rs2html($rs2);
4、 PHP ADODB 实现内容自动分页功能
include_once("adodb5/adodb-pager.inc.php");
session_start();
$db = NewADOConnection('mysql');
$db->Connect("localhost", "root", "", "upload");
$sql="SELECT * FROM `pic`";
$pager=new ADODB_Pager($db,$sql);
$pager->Render(3);
——————————————————————————————————————————————————————————————
PHP100视频教程82: PHP开发通用采集入库程序
——————————————————————————————————————————————————————————————————————————————
file_get_contents() 远程文件获取函数,用来获取远程页面内容
preg_match_all()进行全局正则表达式匹配 用于匹配列表
preg_match ()进行正则表达式匹配 用于匹配终端
preg_replace ()进行正则表达式替换 用于过滤终端
复习正则表达式 、 正则修正符用法。
## // 开始和结束标志
——————————————————————————————————————————————————————————————————————————————
PHP100视频教程83: PHP开发通用采集入库程序二
PHP100视频教程84:PHP开发通用采集入库程序三
PHP100视频教程85:PHP 图表类 JPGraph 入门配置与应用
PHP100视频教程86:PHP JPGraph 中文字体和背景设置
PHP100视频教程87:PHP 之 CURL 传输与获取功能
——————————————————————————————————————————————————————————————————————————————
1、什么是CURL且能实现什么功能?
curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传等等,功能十分强大。
PHP中常用都实现那些功能:
1、实现远程获取和采集内容
2、实现PHP 网页版的FTP上传下载
3、实现模拟登陆
4、实现接口对接(API),数据传输等
5、实现模拟Cookie等
2、PHP 如何使用CURL功能
默认情况下PHP是不支持CURL功能的,需要在PHP.ini中开启该功能
1? 整个操作过程中第一步是用cur_init()函数进行初始化
$curl = curl_init(‘www.php100.com’); 2? 然后,用curl_setopt()函数进行设置选项。 3? 设置后,进行执行事务 curl_exec($curl); 4? 最后关闭curl_close();
$curl = curl_init(); //初始化一个 cURL 对象
curl_setopt($curl, CURLOPT_URL, "http://www.php100.com");
//设置你需要抓取的URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
$data = curl_exec($curl); //运行cURL,请求网页
curl_close($curl); //关闭URL请求
3、使用PHP CURL实现传输和获取功能
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
curl_close($ch);
——————————————————————————————————————————————————————————————————————————————
PHP100视频教程88:PHP 之 CURL模拟登陆并获取数据
PHP100视频教程89:PHP XML 的 DOMDocument 读取功能
PHP100视频教程90:PHP DOM 创建生成多功能 XML文件
PHP100视频教程91:PHP修改和删除XML内容的原理和方法
——————————————————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————————————————
PHP100视频教程92:在线支付接口之PHP支付宝接口开发
————————————————————————————————————————
1、什么是支付接口
支付接口一般是第三方提供的代收款/付款的平台,可以通过支付接口帮助企业 或个人利用一切可以使用的支付方式(手机、银行卡、会员卡等)产生交易。 常见支付平台:支付宝、块钱、云网支付、贝宝、财付通(QQ)等
2、实现在线支付接口的原理和流程
3、学习支付宝接口及时到账开发和配置
————————————————————————————————————————
PHP100视频教程93:在线支付接口之PHP云网接口开发
PHP100视频教程94:SVN (Subversion) 配置与安装调试
———————————————————————————————————————
anon-access=read 匿名用户可以访问,前面不要有空格
密码设置为明文 username=password的格式
authz权限设置中 adminss=harry,nash 逗号分隔的格式
adminss=rw 赋予读写权限
启动svn的命令
svnserve.exe -d -r D:\svn
安全模式 只读
浏览 svn://127.0.0.1
————————————————————————————————————————————————————————————————————
PHP100视频教程95:SVN (Subversion) 应用与技巧
——————————————————————————————————
1、如何增加SVN到windows服务中并自动启动
sc create svnserve binpath= "C:\...\bin\svnserve.exe --service --root D:\svn"
Sc delete svnserve
2、SVN 控制器的文件的锁定和操作
3、SVN 查看历史文件并对比差异内容
4、SVN 处理更新过的新版本文件
5、SVN 导出内容和文件方法和注意事项
——————————————————————————————————
PHP100视频教程96:PHP程序员经典面试&笔试题目解析(上)
PHP100视频教程97:PHP程序员经典面试&笔试题目解析(下)
PHP100视频教程98:PHP会员权限交叉多类型的控制(上)
————————————————————————————————————————————————————
1、会员交叉权限控制实现的原理
在PHP中要判断一个数在某些数范围内就可以使用 & 运算符。
& 是位运算,不是 && 逻辑运算 (位运算符:& | ^ ~)
例如:7=4|2|1 ===》 $sy = 4|2|1
这里的或是指的可以能包含的内容值,在位运算里其实可以简单理解成 7=4+2+1,
用 & 来操作,可以知道7&4、7&2、7&1都是真的,而如果7&8则是假的。
我们还可以用^ 来从包含的值内去除:如 $ny = $sy ^ 2
这样一来,$ny 只有 4|1 如果做判断也就只有 $ny&4、$ny&1
2、利用PHP位运算二进制实现权限控制
常量设置成功后,不能被修改。
decbin() 转换为二进制
————————————————————————————————————————————————————
PHP100视频教程99:PHP会员权限交叉多类型的控制(下)
———————————————————————————————————————
1、会员与会员组的关系
2、设计会员权限系统的结构解析
array_sum($_POST[gr]);
———————————————————————————————————————
PHP100视频教程100:PHP程序员的学习之路和未来职业规划
PHP100视频教程101:PHP5.3 Xdebug 调试器配置与应用
————————————————————————————————————————————————
php.ini zend_extension=D:\php5.3.3\ext\php_xdebug-2.1.0-5.3-vc6.dll
PHP5.2为zend_extension_ts xdebug在PHP5.2和PHP5.3中有区别的。
请使用绝对路径
phpino(); 最下面底部会出现Xdebug的相关信息,说明没有安装成功,需要检查路径和下载的版本问题。
vc6 是apache中
vc9是iis中
同时注意是32位,还是64位
————————————————————————————————————————————————
PHP100视频教程102:PHP5.3 Xdebug 错误分析与性能调试
PHP100视频教程103:JQuery 之 Javascript 基础(一)
PHP100视频教程104:JQuery 之 Javascript 基础(二)
PHP100视频教程105:JQuery 之 Javascript 基础(三)
PHP100视频教程106:JQuery 之语法模式与开发基础
PHP100视频教程107:JQuery 之选择器、事件器详解
———————————————————————————————————————————————————————————Jquery选择器的各种用法
$(this) 当前元素
$("p") 所有<p>元素
$("input") 所有input元素
$(".intro") 所有 class=“intro” 的元素
$("p.intro") 所有 class="intro" 的<p>元素
$("#intro") id="intro" 的第一个元素
$("ul > li") ul下的所有li节点
$("ul li:first") 每个 <ul> 的第一个 <li> 元素
$("[href$='.jpg']") 所有带有以 ".jpg" 结尾的 href 属性的属性
$("div#intro .head") id="intro" 的 <div> 元素中的所有 class="head" 的元素
$(li[a:contains('Register')]") 内容包含Register的<a>元素
$("input[@name=bar]") name是bar的<input>元素
$("input[@type=radio][@checked]") type是radio的<input>元素
$(“li”).not(“ul”) li下没有包含ul节点的节点元素
$("span[@id]") 包含id属性的<span>元素
$("[@id=span1]") id为span1的节点元素
$(元素). 事件( 事件属性);
Jquery事件器的介绍
$(元素). 事件( 事件属性);
$(selector).click() 被选元素的点击事件
$(selector).dblclick() 被选元素的双击事件
$(selector).focus() 被选元素的获得焦点事件
$(selector).mouseover() 被选元素的鼠标悬停事件
$(selector).css(); 被选元素的CSS事件
$(selector). hide(); 被选元素的隐藏事件
$(selector). show('slow'); 被选元素的显示事件
——————————————————————————————————————————————————
Dom节点操作
$(“a”).addClass(“red”) 为所有<a>增加class=”red”
$(“a”).removeClass(“red”) 为所有<a>去掉class=”red”
$(“li”).append(“BB!”) 为<li>增加”BB!”innerHTML
——————————————————————————————————————————————————————————
执行事件
————//hover是在执行完第一个函数后再执行第二个
$(“p”).hover(function(){
$(this).addClass("hover");
},function(){
$(this).removeClass("hover");
});
//toggle第一次点击执行第一个函数,再点击执行第二个
$(“p”).toggle(function(){
$(this).addClass("selected");
},function(){
$(this).removeClass("selected");
});
—————————————————————————————————————————————————
PHP100视频教程108:JQuery之各类动画效果的实现
PHP100视频教程109:JQuery 之 Ajax 开发详解