php base
来源:互联网 发布:linux 脚本执行不下去 编辑:程序博客网 时间:2024/05/17 04:22
PHPmySQL 函数库
mysql类 公共类封装
建议在使用新版本的 PHP 前删除所有这些文件(比如从 Windows 系统文件夹删除 php.ini 和 PHP 相关的 DLL 文件)。务必在删除前备份这些文件,因为这一操作可能破坏整个系统。原有的 php.ini 在安装新版本的 PHP 时也可用来参考。
PHP运算符优先级列表:
结合方向
运算符
附加信息
非结合
new
new
左
[
array()
非结合
++ --
递增/递减运算符
非结合
! ~ - (int) (float) (string) (array) (object) @
类型
左
* / %
算数运算符
左
+ - .
算数运算符和字符串运算符
左
<< >>
位运算符
非结合
< <= > >=
比较运算符
非结合
== != === !==
比较运算符
左
&
位运算符和引用
左
^
位运算符
左
|
位运算符
左
&&
逻辑运算符
左
||
逻辑运算符
左
? :
三元运算符
右
= += -= *= /= .= %= &= |= ^= <<= >>=
赋值运算符
左
and
逻辑运算符
左
xor
逻辑运算符
左
or
逻辑运算符
左
,
多处用到
sleep() //停止几秒 [W1]
标识符区分大小写 函数例外
变量名可以与函数名相同
PHP安装: 路径不用空格 [W2]
apache全局配置:
DocumentRoot " /[W3]" 根目录
Derictory /
ServerTokens [W4]
AddType application/x-httpd.php . . . .
php.ini: (php函数实现方式:ini_set( , );
register_long_arrays[W5]
allow_url_fopen [W6]
date_default_time_set() [W7]
display_errors= on //错误处理机制
regester_global //配置全局变量
track_vars[W8]
echo date("g:i A l,F j Y.");
is_string($bool)
gettype($bool)
getclass( ) //取得对象的类名
var_dump( ) //查看某个表达式的值和类型
var_dump((bool)"foo" ) //字符串"foo"转换为布尔值
var_dump(0x800000) //十六进制转为十进制
intval( ) //转为整型
strval( ) //转为字符串
单引号也可以用来表示字符串
echo'可以
分多行写
的字符串'.'<br/>'
定界符:格式
$str =<<<EOD
....
EOD;[W9]
类型转换:
(object)
(bool)
(int)
(float)
(string)
(array)
预定义变量: _POST _GET
预定义常量(魔法常量):(不区分大小写)
_line 行号
_file 路径文件名
_function 函数名称
_class 类名称
_method 类的方法名
全局变量: global $abc ; 超全局变量:$GLOBALS['abc']= ' '
全局数组变量:$_GET、$_POST、$_COOKIE、$_SERVER、$_FILE、$_ENV、$_REQUEST 以及 $_SESSION。
局部变量:
静态变量: static $a = 0;
可变变量: $$a [W10]
常量:[W11] define("NAME",'shine'); //全局的[W12]
'z'+1 //得到'AA'[W13]
数组运算符:
+(联合) 把数组$b附加到数组$a后面,但重复的值键不会被覆盖(取出最先出现的键值)
== 如果$a和$b具有相同的键/值对,则为true
=== 如果$a和$b具有相同的键/值对并且顺序和类型相同,则为true(用于对象时,则为是否指向同一个对象)
类型运算符:
instanceof [W14]测定一个给定的对象(它的父对象或者它所实现的接口是否来自指定的对象类)
错误控制运算符: @
执行运算符: ` `反引号
反引号中的内容将作为操作系统命令来执行,并将其输出信息赋值给一个变量
$out_os = `ipconfig /all`;
echo $out_os ;
exit、return语句: [W15]
exit() 输出一条信息并退出当前脚本
包含代码:[W16](自动加载对象,见下)
require() [W17] 导致一个致命错误,并停止脚本运行,适合包含php文件 ,适合放在 PHP 程序的最前面
include() 产生一个警告,脚本也继续运行,适合包含html,可以放在程序中间的位置
require_once() 避免重复,函数重定义
include_once()
自动加载对象: [W18]
<?php
function_autoload($class1_name)
{
require_once $class_name.'.php';
}
$obj = newPerson();
?>[W19]
引用:(为变量增加一个别名)
$n =&$m;
echo$n; //取消引用。unset($n)
可变长度参数列表:
func_get_args() 返回一个数组。此数组包含传递过来的参数
func_num_args() 返回一个整数值。说明传递来的参数个数
func_get_args() 返回一个传递过来的参数
变量函数:
$which( )
如果$which的值是'third' ,则会调用函数third()
用function_exits( ) 来预先判断变量函数是否存在 [W20]
NULL 要用大会写
魔术函数: _sleep[W21] _wakeup _clone[W22]
(魔术方法)
对象的比较:
比较运算符: ==(如果两个对象是同一个类的实例,并且它们有相同的属性值)
全等比较运算符: ==(当且仅当两个对象变量指向同一个对象实例时)
输出: echo print 可以加括号也可以不加
解析变量:
$name = "shine";
echo "they are ${name}s";
echo "they are {$name}s";
PHP Class: [W23]
为属性指定默认值时,只能是简单的值,不能是一个表达式
PHP final关键字不能用于属性
范围解析操作符:
::(方法的静态调用)
$name = 'chen';
Person::setName($name);
$student =newPerson();
$name = 'chen';
$student->setName($name);
[W24]
静态属性调用: Person::$haircolor;
静态成员: 与对象的实例无关,只与类本身有关
Person::$haircolor 它属于Person类,而不属于任何Person的实例
Parent::example() //引用基类的方法
[W25]
静态函数调用非静态函数时,使用self::,如果使用$this ->将报错,
parent:: 引用基类的方法
$this引用基类的方法
self::本类自身的方法
覆写了一个public类成员。它在子类中必须保持public属性
覆写一个protected成员,它可保持protected属性或变成public属性,但private成员仍然只在当前类中可见
去除空白字符:
trim[W26] ltrim rtrim
大小写转换:
strtolower 小写
strtoupper 大写
ucfirst 将第一个字符转换为大写
ucwords 将每一个单词的首字母转换为大写形式 [W27]
ASC二码转换:
chr() 把ASC二码转换为字符串
ord() 把字符串转化为ASC二码
HTML元素转换:
htmkentities() 把所有HTML元素转换为字符串显示
比较字符串:
strcmp(str1,str2) 若str1>str2返回正数,若str1=str2返回0,若str1<str2返回负数
子串 substr( , ,) substr_replace( , , , )
查找 strpos(str ,needle) //返回needle在str里第一次出现的位置
分解和合并 explode() 分解
implode() 合并 [W28]
格式化字符串:
printf("%s %01.2f",$name,$money)
分解URL:
$url = "http:// ";
$bits =Parse_url($url);
echo '<pre>'
print_r($bits);
echo '</pre>'
最常用的PHP正则表达式收集整理
正则表达式: [W29]
正则表达式调试工具 RegexTester
在线工具 http://www.regextester.com/
通用字符簇:
[[:alpha:]]//任何字母
[[:digit:]] //任何数字
^[[:alpha:]]{3}$ //所有的3个字母的单词
.{2} //所有的两个字符
[[:alnum:]] 任何字母和数字
[[:space:]] 任何白字符
[[:upper:]] 任何大写字母
[[:lower:]] 任何小写字母
[[:punct:]] 任何标点符号
[[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]
a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab和ab。
懒惰量词
*?
重复任意次,但尽可能少重复
+?
重复1次或更多次,但尽可能少重复
??
重复0次或1次,但尽可能少重复
{n,m}?
重复n到m次,但尽可能少重复
{n,}?
重复n次以上,但尽可能少重复
/a
报警字符(打印它的效果是电脑嘀一声)
/b
通常是单词分界位置,但如果在字符类里使用代表退格
/t
制表符,Tab
/r
回车
/v
竖向制表符
/f
换页符
/n
换行符
/e
Escape
其他的特殊符号,可以用在前面加上反斜杠,如反斜杠本身用//表示,句号.用/.表示,以此类推。
POSIX正则表达式的处理函数: (PCRE略优于POSIX扩展正则表达式函数 )
ereg( , )
if(ereg("^ $",$domain))
正则表达式教程:
PHP中两个常用的正则函数:
preg_match正则函数,以perl语言为基础 [W30]
preg_match ( mode, string subject , array matches )
ereg正则函数,以POSIX基础 (Unix 、 Script)
ereg ( mode, string subject , array regs )
正则表达式中包括的元素:
(1)、原子(普通字符:a-z A-Z 0-9 、原子表、 转义字符)
①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]
……
(2)、元字符 (有特殊功能的字符)
* 匹配前一个内容的0次1次或多次
. 匹配内容的0次1次或多次,但不包含回车换行 [W31]
+ 匹配前一个内容的1次或多次
?匹配前一个内容的0次或1次
| 选择匹配类似PHP中的| (因为这个运算符合是弱类型导致前面最为整体匹配)
^ 匹配字符串首部内容
$ 匹配字符串尾部内容
/b 匹配单词边界,边界可以是空格或者特殊符合
/B 匹配除带单词边界意外内容
{m} 匹配前一个内容的重复次数为M次
{m,} 匹配前一个内容的重复次数大于等于M次
{m,n} 匹配前一个内容的重复次数M次到N次
( ) 合并整体匹配,并放入内存,可使用/1 /2…依次获取
a)
(3)、模式修正符 (系统内置部分字符 i 、m、S、U…)
i 正则内容在匹配时候不区分大小写(默认是区分的)
m 在匹配首内容或者尾内容时候采用多行识别匹配
S 将转义回车取消是为单行匹配如. 匹配的时候
x 忽略正则中的空白
A 强制从头开始匹配
D 强制$匹配尾部无任何内容 /n
U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束,
常用在采集程序上的正则表达式
正则表达式运算顺序:
依然遵循从左到→右的运算规则
( ) 圆括号因为是内存处理所以最高
* ? + { } 重复匹配内容其次
^ $ /b 边界处理第三
| 条件处理第四
最后按照运算顺序计算匹配
匹配功能
preg_match_all全部匹配函数 [W32]
替换功能
preg_replace正则替换函数 [W33]
侵害功能
preg_split 正则切割[W34]
数组: 索引数组;关联数组
$array = array('apple','banana') ;
$mixed = array('num'[W35]=>1,'world'=>'hello world','own'=>$array);
输出数组函数:
print_r()
var_dump()
访问数组:
$array['3']会被php识别为$array[3]
写成$array['03'] 就不会有这样的危险,PHP会将这个键作为字符串来处理
导出数组:
导出索引数组:
$info= array('apple','red','big');
list($fruit,$color,$size) = $info;[W36]
echo $fruit;
导出关系数组:
$info= array('fruit'=>'apple','color'=>'red','size'=>'big');
extract($info);
echo $fruit;
数组排序:
按标识符排序
ksort() 按数组标识符顺序排序
krsort() 按照数组标识符逆序排序
uksort() 用户定义的函数
按元素值排序
asort() 由小到大
arsort() 由大到小
uasort() 用户定义的函数
删除原有键名排序
sort() 由小到大
rsort() 由大到小
usort() 用户自定义函数
Ucfirst() 首字符大转换
Ucwords() 字符串每个单词首字符;转为大写
strcmp() 区分大小写转换
strcasecmp() 不区分大小写转换
数据遍历函数:
array_walk() 对数组每个成员应用用户函数 [W37]
强制退出函数:
$file = fopen( ) ordie()
$file = fopen( ) orexit()
GD库 www.boutell.com/gd (PHP5中默认安装了的)
cookie session
客户端 服务端
文件处理:
读
读取
写入
file_esists() 判断文件是否存在
is_writable() 是否可写
is_readable() 是否可读
解决数据库乱码问题:
mysql_query("set names gb2312");
加密函数:crypt() md5() shed()
数字的四舍五入:
ceil (进一法取整) floar(舍去法取整) round(四舍五入)
PHP[W38],JAVA都支持默认参数:
fun(...=1,...=0)
fun(3)相当于fun(3,0)
PHP静态方法与子类的继承与重载:
使用静态方法定义了基类的方法和属性后,在子类里,如果重载这些静态方法,子类里使用的访问控制操作符应该与基类的相同。即基类使用public protected private 定义的方法,在子类中也能使用相同的关键字与之对应
引用:
$a = 123;
$b = $a;
123
123
$a = 123;
$b = &$a;
123
123
session_destory() [W39]//彻底消除一个session
$_session= array( ) //删除所有的session变量
使用事务:
mysql_query("set autocommit =0[W40]",$dblink); //设置事务的提交模式
mysql_query("start transaction",$dblink); //开始一个事务
mysql_query("commit",$dblink); //提交事务
mysql_query("rollback",$dblink); //回滚事务
basename 返回路径中的文件名部分 [W41]
while另一种表达:
while ($i <= 10):
print $i++;
echo ". 以后不敢了<br>/n";
endwhile;
print "It's a beautiful day " . 'in the neighborhood.';
//两个字符串间会自动空格
phpinfo() 返回 PHP 的所有信息。
phpversion() 返回 PHP 的版本
is_int() 是否是一个整数
CMS 内容管理系统
Joomla[W42] PHPWind
Xdebug调试参数解释:
zend_extension_ts="c:/webserver/php5/ext/php_xdebug.dll"
;加载xdebug模块。这里不能用extension=php_xdebug.dll的方式加载,必须要以zend的方式加载,否则安装上后,phpinfo是显示不出xdebug这个项的。
xdebug.auto_trace=on;
;自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。
xdebug.collect_params=on;
;打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.collect_return=on
;打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.trace_output_dir=”c:Tempxdebug”
;设定函数调用监测信息的输出文件的路径。
xdebug.profiler_enable=on
;打开效能监测器。
xdebug.profiler_output_dir=”c:Tempxdebug”;
;设定效能监测信息输出文件的路径。
还有一些更为具体的参数设定,详见:http://www.xdebug.org/docs-settings.php
PHP面向对象编程:2010年最新PHP类的精缩归纳
php创建文件时如何指定文件编码 php编码
2、例子:创建utf-8编码的文件
<?php
$content = ’softrpm的博客地址是http://blog.softrpm.com’;
$content = iconv(”,’utf-8′,$content);/*转换为utf-8编码*/
file_put_contents(’phpzt.html’,$content);
?>
html编码
<metahttp-equiv="Content-Type" content="text/html;charset=utf-8" />
javascript编码
使用 unescape() 对 escape() 编码的字符串进行解码。
使用 unescape() 对 escape() 编码的字符串进行解码。
encodeURI() 函数
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
smarty教程
smarty优点:
缓存技术:smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定smarty的cache属性为true时,在smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。
模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
demo 解释smarty的程序
1. <{**}>是模板页的注释
2. <{include file="xxx.tpl"}>使用此句将一个模板文件包含到当前页面中
3. <{$name}>: 模板变量
在smarty程序中将使用
$smarty->assign("name", "李晓军");将模板中的$name替换成“李晓军”三个字
include_once("./Smarty/Smarty.class.php"); //包含smarty类文件
smarty_inc.php 配置文件
DEMO 精简
DEMO 数组 不准确
//编译并显示位于./templates下的index.tpl模板
$smarty->display("index.tpl");
数组循环:
$smarty -> assign("模板变量","数组");
{section name=s loop=$stu}
{$stu[s].name}
{sectionelse}
{/section}
变量操作符:
语法中使用"|"应用变量操作符,多个参数用":" 分隔开来
{$name|truncate:10:"..."} 截取前十个字符多则用...代替
常用的20个常用变量符
capitalize [首字母大写] {$shine|capitalize } 只识别单词
count_characters [计算字符数]
cat[连接字符串] {$shine|cat:"dddddddddd"}
count_paragraphs [计算段落数]
count_sentences [计算句数]
count_words [计算词数]
date_format [时间格式] {$shine|date_format:"%Y-%m-%d"}
{$smarty.now|date_format:"%Y-%m-%d"}
default [默认]
escape[转码] html,htmlall,url {$shine|escape:"html"} 直接将html显示出来
indent[缩进] {$shine|indent:10:" "} 缩进10个空格
lower[小写 ]
nl2br[换行符替换成<br />]
regex_replace[正则替换]
replace[替换] {$name|replace:"is":"**"} 将is替换成**
spacify[插空]
string_format[字符串格式化]
strip[去除(多余空格)]
strip_tags[去除html标签]
truncate[截取] {$name|truncate:30:'......'} 截取前30个,后面的用....
upper[大写]
wordwrap[行宽约束] {$name|wordwrap:10:'<br/>'} 10个字符一行
Smarty内置函数:
1、foreach 数组的处理
与我们在PHP中的foreach用法类似,同样是用来遍历数组。在实际操作中与
section 功能一样,但foreach在Smarty一般用来处理一维数组。
=======无键值数组
{foreach from=$name item=id}
id: {$id}<br>
{/foreach}
=======有键值数组 key 键值 from 数组 item内容
{foreach key=j item=v from=$name }
{$j}: {$v}<br>
{/foreach}
2、include 多功能使用
{include file="header.htm"}
{include file="D:/www/head.htm"}
{include file='head.htm' title="Main Menu"}
3、IF条件语句的使用
{if $name=='ok'}
{else}
{/if}
4、literal strip 文本的处理技巧
{literal}
<script language=javascript>
.....
</script>
{/literal}
{strip}
....一般放在HTML代码的开始和结束 防止别人看代码等
{/strip}
Smarty缓存应用:
Smarty缓存的配置
$smarty->cache_dir = "/caches/"; //缓存目录
$smarty->caching = true; //开启缓存,为flase的时侯缓存无效
$smarty->cache_lifetime = 60; //缓存时间
Smarty缓存的使用和清除
$smarty->display('cache.tpl', cache_id); //创建带ID的缓存
$smarty->clear_all_cache(); //清除所有缓存
$smarty->clear_cache('index.htm'); //清除index.tpl的缓存
$smarty->clear_cache('index.htm',cache_id); //清除指定id的缓存
Smarty局部缓存
insert 函数默认是不缓存的。并且这个属性不能修改。方法前缀
index.htm
<div>{insert name="get_time"}</div>
index.php
function insert_get_time(){
return date("Y-m-d H:m:s");
}
smarty_block 函数功能更加强大,使用方法同上
{blockname}
没有缓存的:{$smarty.now}
{/blockname}
PHP备份数据库的原理和方法:
mysql_list_tables() 表查询函数,类似mysql_query() 函数
mysql_fetch_field() 字段信息函数,返回句柄
//暂停 10 秒 sleep(10);
program Files改为 programfiles
最好在最后加上一个"/"
full 全部
Prod 最少 选这个安全些
$_SERVER['PHP_SELF'] 可写为 $PHP_SELF
$_GET['id'] 可写为 $id
$ENV['path'] 可写为 $path
通过指定文件的url来包含远程文件。如
require http://www.shine.com/shine.php
PHP5默认为格林威治超标准时间
date_default_time_set("PRC") //调协为中国时区
echo date("Y-m-d G:i:s"); //输出当前系统时间
$next = time()+1*24*60*60; //明天
echo date("Y-m-d G:i:s".$next);
在 FORM 中输入的资料,要是在 PHP 的配置文件中,track_vars设为 On 时,直接使用变量名字就好了。
<input type=text name="username">
$page_header = <<<HTML_HEADER
<html>
<head><title>Menu</title></head>
<body bgcolor="#fffed9">
<h1>Dinner</h1>
HTML_HEADER;
$page_footer = <<<HTML_FOOTER
</body>
</html>
HTML_FOOTER;
注意:超全局变量不能做可变变量
一旦定义了,就不能被重新定义或者取消定义
使用$arr[test]和使用$arr['test']的效果一样,但PHP却会报错
使用$arr[test]时,PHP把 test当作常量来解析,但没有定义test时,会把它
当做字符串来调用
字符变量只能递增,不能递减,并且只支持纯字母(a - z , A - Z)
if($obj instanceof A) { }
在PHP5引进的。在此之前用is_a()
如果一个函数是调用return语句,将立即结束此函数,并将它的参数作为函数值返回;
如果当前脚本被include传入。则return()的值会被当做include()调用的返回值
处理;
如果在主脚本文件中调用return(),则脚本中止运行
allow_url_fopen设为on
通过指定文件的url来包含远程文件。如
require http://www.shine.com/shine.php
如果包含的文件是.php结尾的文件,则可以用.inc来代替php文件,相当于模板
当文件仅仅被include一次,autoload会消耗稍微多一点的时间,但如果在文件被反复include的情况下,使用autoload则能大大提高系统性能。
function __autoload(strtolower($className)){ //strtolower是自动转化为小写字母(当然你可以不用strtolower,因为php5会自动将其转化为小写的)
require_once($className.".php");
}
if(function_exits($which))
{
$which( );
}
_sleep()在对象序列化前运行
_wakeup()是在对象反序列化之前运行
序列化后的字符串保存到文件或者数据库中,需要使用的时候再进行反序列
化操作,如下:
$a = serialize($b);
$a = unserialize($b);
class a
{
function_clone()
{
$this ->name = " ";
}
}
$b = clone$a ; //克隆时会自动执行_clone()函数
public function setName($name)
{
$this -> name = $name;
}
return return $this -> name;
只有静态属性和静态方法,才能使用范围解析符,
class Person{ }
$aperson = new Person();
$aperson -> a(); //引用实例的方法
Person::a(); //引用类的方法
去除首尾处空格或其他特殊符号
$trimed = trim($init_str);
echo ucwords(strtolower($str))
$time = "12:59"
$time = explode(':',$time);
替换字符中的逗号
<?php
$show=eregi_replace(",","<br>", $programs);
echo(iconv("utf-8","gb2312",$show));
?>
preg_match('/ /') preg_match('# #')也可以
preg_match('# #')
preg_match('#abc#','abcdgdgsgdfsg',$arr);
print_r($arr[0]);
$mode = "2009(.*)02//1(15)";
$str = "2009-02-15";
if(preg_match($mode,$str,$arr) )
{
echo $arr;
}
// 这里的 //1 表示匹配前一个 (.*)
preg_match_all ( string pattern, string subject, array matches [, int flags] )
用途:截取比较详细的内容,采集网页,分析文本
preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
通过正则表达式来替换相关内容,类似之前学过的str_replace字符串替换,但
功能要强于它。
提示:1、替换内容可以是一个正则也可以是数组正则
2、替换内容可以通过修正符e来解决替换执行内容
用途:替换一些比较复杂的内容上,也可以用于内容的转换上
先md5运算再替换
$str = "ffffdsfdf";
$mode ="/([a-z])/ie";
echo preg_replace($mode,'md5()//1'$str);
echo preg_replace($mode,'md5()//1'$str,1); //替换一次
preg_split ( string pattern, string subject [, int limit [, int flags]] )
通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode
只能按照一种方式切割有局限性。
键,当为数字时,通常称为索引
也可以写成:
list($fruit, ,$size) = $info;
array_walk($array,'print_str') //print_str'()是之前定义的函数
PHP带有默认参数的使用方法:
function getinfo($name,$age=18)
{ } //要先定义普通参数,再定义带有默认值的参数
此会清空当前工作会话中的所有资源,但它不会清除与当前session相关联的全局变量,也不会删除客户端的session cookie
当该参数没有值或者小于等于0时,插入数据后执行回滚
大于0时,插入数据后执行commit
$path="/home/httpd/html/index.php";
$file=basename($path); // $file is set to "index.php"
$file=basename($path,".php");// $file is set to "index"
Joomla! 安装时,会在数据库中建立一个jos_users 数据表(jos_ 是默认数据表前缀,如果你曾经修改过前缀,那么参照此例),所有注册用户的用户名、密码、E-mail 等信息都储存在这里。其中,密码是经过MD5 加密的。这是为了加强网站安全性,即使黑客侵入你的数据库,也无法知道密码是多少。因为 MD5 是一种单向(One Way)加密算法,他无法从加密后的字串推导出真实密码字符。
网站 -- 全局设置 -- 搜索引擎优化设置等等
组件放在plugins文件夹中
产品展示组件: com_wmtportfolio15_white
相册组件: Phocagallery
论坛组件: FireBoard (若是1.5版本,要先启用System Legacy插件)
编写xml文件时,注意编码形式。
如果 是GB2312,此文件存储是应为ANSI编码
如果 是utf-8,此文件存储时编码应为utf-8
把session_handler = user
改为 session_handler = files
mysql_get_server_info MySQL版本
mysql_client_encoding 字符编码集
mysql_get_host_info 服务器名称
mysql_get_client_info 客户端版本
开发流程,AJAX中文乱码处理,DOM使用,CSS使用
开发流程,分页处理,乱码
- php base
- PHP Base
- php-base
- php base function
- Ucenter 分析三/*base.php*/
- [李景山php]每天TP5-20161202|base.php
- model/base.php 类库分析
- mysql+apache+php+snort+base 安装
- PHP <?= Uri::base(false) ?> 无法解析
- phpmcs_v9.6.0_UTF8 base.php文件分析
- 如何用php与thrift连接base
- base
- Base
- BASE
- base-``
- base
- Base
- base
- 软件架构师的招聘要求(范例)
- 最近一段面试经历
- 阅读笔记: 凸包的例子(一)
- 好吧,我承认这个程序又臭又长,计算时间倒计时
- 问候
- php base
- C++Primer学习笔记第十章(10/18)关联容器
- JAVA 与C# API的比较
- .net
- Java异常框架设计
- .net 02
- silverlight wpf
- oracle 10G
- Powerdesigner小教程