还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
网站开发必用知识点总结,函数一览,开发必背PHP魔术措施当实例化一种对象的时候,这个对象的这个措施首先被调用_construct当删除一种对象或对象操作终止的时候,调用该措施_destruct当试图读取一种并不存在的属性的时候被调用_get当试图向一种并不存在的属性写入值的时候被调用_set当试图调用一种对象并不存在的措施时,调用该措施_call当打印一种对象的时候被调用—toString当对象被克隆时,被调用—clone—isset_unset—autoload$classname_sleep—wakeupO系统常量目前文献名—FILE_目前行数_LINE_目前函数名_FUNCTION_目前类名_CLASS_目前对象的措施名_METHOD_目前系统PHPJ3S版本PHP_VERSION php根据系统决定目录的分隔符DIRECTORY_SEPARATOR A根据系统决定环境变量的目录列表分隔符;:PATH.SEPARATORE.ERROR1E_WARNING2E_PARSE4E_NOTICE8M_PI
3.141592$_SERVER执行环境提交至脚本的变量$_ENV$_GET$_POST$_REQUEST$_FILES$_COOKIE$_SESSION$_GLOBALS输出authorJack Herrington/authortitlePodcasting Hacks/titlepublisherO,Reilly/publisher/bookbook〈作者author/author出版者〈/publisher publisher,/book/booksphp:$g_books=array;$g_elem=null;function startElementSparser,$name,$attrsglobal$g_books,$g_elem;=二if$name BOOK$g_books[]=array;$g_elem=$name;function endElementSparser,$name global$g_elem;$g_elem=null;function textDataSparser,$textglobal$g_books,$g_elem;=廿if$g_elem AUTHOR||」$g_elem-PUBLISHER$g_elem==TITLE1$g_books[count$g_books-1][$g_elem]=$text;Sparser=xml_parscr_creatc;xml_set_element_handler Sparser,nstartElementM,nendElementn;xml_set_character_data_handler Sparser,ntextDatan;$f=fopen Y*;while$data=fread$f,4096xml_parse Sparser,$data;xml_parser_free Sparser;foreach$g_books as$book echo$book[TITLE].n-.$book[,AUTHOR,].n-echo$book[PUBLISHER].nbrn;DomDocumentxml:—xml version=n
1.0n encoding=nutf-8—booksbookauthorJack Herrington/authortitlePHP Hacks/titlepublisherO,Reilly/publisher/bookbookauthorJack Herrington/authortitlePodcasting Hacks/titlepublisherOReilly/publisher/bookbook〈〉作者〈〉标题author/author title出版者publisher/publisher/book/books读取php$doc=new DOMDocument;$doc-load l.xmr*;$books二$doc-getElementsByTagName nbookH;forcach$books as$book|$authors=$book-getElementsByTagName nauthorn;$author=$authors-item0-node Value;$publishers=$book-getElementsByTagName npublishern;$publisher=$publishers-item0-node Value;$titles=$book-getElementsByTagName title11;$title=$titles-item0-nodeValue;echo n$title-$author-$publisherbrH;生成php$books=array;$books[]=array出Id=PHP Hacks;author=Jack Herrington1,publisher=OReilly”;$books[]=arraytitle=Podcasting Hacks,二,;author=Jack Herrington,publisher OReiUy”$doc=new DOMDocument;$doc-formatOutput=true;$r=$doc-createElement nbooksn;$doc-appendChild$r;foreach$books as$book$b=$doc-createElement book11;$author=$doc-createElement nauthorn;$author-appendChiid$doc-createTextNode Sbookfauthor1];$b-appendChild$author;$title=$doc-createElement ntitlen;$title-appendChild$doc-createTextNode$book[,title,];$b-appendChild$title;$publishcr=$doc-crcatcElcmcnt npublishcrn;$publisher-appendChild$doc-「门;createTextNode$book publishe$b-appendChild$publisher;$r-appendChild$b;echo$doc-saveXML;echo$doc-save
222.xmr;SimpleXMLxml:booksbookauthorJack Herrington/authortitlePHP Hacks/titlepublisherO,Reilly/publisher/book/booksphp:$xml=new SimpleXMLElementl.xml;NULL,TRUE;echo$xml-book
[0]-author.n n.$xml-book
[0]-title.n n.$xml-book
[0]-publisher;正则系列的正则体现式不需要定届符,系列的才需要,并且定界符可以自己选择,只ereg preg有前后一对就行,例如我们一般使用/符号,不过假如里面有/需要匹配那么就需要使用来表V达,当/需要出现多次的时候,这样就不以便,我们就可以使用其他的定界符,例如I正则特殊字符.\+*[A]${=!1由原子一般字符,如英文字符、元字符有特殊功用的字符模式修正字符一种正则体现式中,至少包括一种原子所有符号解释\将下一种字符标识为一种特殊字符、或一种原义字符、或一种向后引用、或一种八进制转义符例如,匹配字符匹配一种换行符序列匹配而飞”则匹配!!/!!H VN\°八匹配输入字符串的开始位置假如设置了对象的属性,八也匹配或RegExp MultilineW之后的位置$匹配输入字符串的结束位置假如设置了对象的属性,$也匹配或RegExp MultilineV W之前的位置*匹配前面的子体现式零次或多次例如,能匹配“以及“*等价于Z0*z“zoo”{0,}+匹配前面的子体现式一次或多次例如,’zo4能匹配“zo”以及“zoo”,但不能匹配+等nzno价于{l,}o匹配前面的子体现式零次或一次例如,可以匹配“或中的等”does”do”“does”“do”o价于{0,1}是一种非负整数匹配确定的次例如,『不能匹配中的不过能匹配{n}n nb{2Bob”“food”中的两个o是一种非负整数至少匹配次例如,,不能匹配“中的0,但能匹配{n,}n nb{2,}Bob”nfooooodn中的所有o等价于b+b{0,『则等价于b*和均为非负整数,其中至少匹配次且最多匹配次例如,”{将{n,m}m n n=m n m1,3}“匹配“中的前三个『等价于请注意在逗号和两个数之间不能有空格fooooood”oJo{0,l当该字符紧跟在任何一种其他限制符*,+,,背面时,匹配模式是非贪{n},{n,},{n,m}婪的非贪婪模式尽量少的匹配所搜索的字符串,而默认的贪婪模式则尽量多的匹配所搜索的字符串例如,对于字符串“0000“,0+7将匹配单个“0”,而34将匹配所有*0*0・匹配除“\n”之外的任何单个字符要匹配包括X,在内的任何字符,请使用象[\时的模式匹配并获取这一匹配所获取的匹配可以从产生的集合得到,在pattern patternMatches中使用集合,在中则使用属性要匹配圆括号字符,请使VBScript SubMatchesJScript$0…$9用\或\’匹配但不获取匹配成果,也就是说这是一种非获取匹配,不进行存储供:pattern pattern后来使用这在使用“或“字符来组合一种模式的各个部分是很有用例如,I,industr:y|ies就是一种比,industry|industries,更简略的体现式正向预查,在任何匹配的字符串开始处匹配查找字符串这是一种非获=pattern pattern取匹配,也就是说,该匹配不需要获取供后来使用例如,能匹配’Windows=95|98|NT|Windows中的Windows”,但不能匹配Windows
3.1中的Windows预查不消耗字符,也就是说,在一种匹配发生后,在最终一次匹配之后立即开始下一次匹配的搜索,而不是从包括预查的字符之后开始负向预查,在任何不匹配的字符串开始处匹配查找字符串这是一种非!pattern pattern获取匹配,也就是说,该匹配不需要获取供后来使用例如,Windows!95|98|NT|,能匹配中的但不能匹配中的预查不消耗字符,也就Windows
3.1Windows”,WindowsWindows是说,在一种匹配发生后,在最终一次匹配之后立即开始下一次匹配的搜索,而不是从包括预查的字符之后开始匹配或例如,能匹配或则匹配或x|y xy z|food foodz|food zood”“food”[xyz]字符集合匹配所包括的任意一种字符例如,labc]1可以匹配plain”中的区[Axyz]负值字符集合匹配未包括的任意字符例如,Pabcf可以匹配plain”中的P[]字符范围匹配指定范围内的任意字符例如,可以匹配官至卜力范围内的任a-z1a-zT意小写字母字符[八a-z]负值字符范围匹配任何不在指定范围内的任意字符例如,[八a-z],可以匹配任何不在冒到N范围内的任意字符\b匹配一种单词边界,也就是指单词和空格间的位置例如,fer\b可以匹配never”中的宣,但不能匹配中的宣“verb”\B匹配非单词边界er\B,能匹配“verb”中的言,但不能匹配“never”中的“匹配由指明的控制字符例如,匹配一种或回车符的值必须为\cx x\cM Control-M xA-Z或a-z之一否则,将c视为一种原义的I,字符匹配一种数字字符等价于[]\d0-9匹配一种非数字字符等价于[八\D0-9]匹配一种换页符等价于和\f\x0c\cL匹配一种换行符等价于和\n\x0a\cJ匹配一种回车符等价于和\r\x0d\cM匹配任何空白字符,包括空格、制表符、换页符等等等价于\s[\An\r\t\v]匹配任何非空白字符等价于\S F\f\n\r\t\v]匹配一种制表符等价于和\t\x09\cl匹配一种垂直制表符等价于和\v\x0b\cK匹配包括下划线的任何单词字符等价于」\w lA-Za-zO-91\W匹配任何非单词字符等价于I八A-Za・z0・9_r匹配其中为十六进制转义值十六进制转义值必须为确定的两个数字长例如,\xn n,n\x4「匹配”A“04r则等价于,\xO4,T正则体现式中可以使用ASCH编码.匹配其中是一种正整数对所获取的匹配的引用例如,匹配两个持续的\nurn num,num相似字符标识一种八进制转义值或一种向后引用假如之前至少个获取的子体现式,则为\n\nnn向后引用否则,假如为八进制数字则为一种八进制转义值n0-7,n标识一种八进制转义值或一种向后引用假如之前至少有个获得子体现式,则\nm\nm nm为向后引用假如之前至少有个获取,则为一种后跟文字的向后引用假如前nm\nm nn m面的条件都不满足,若和均为八进制数字则将匹配八进制转义值nm0-7,\nm nm假如为八进制数字且和均为八进制数字则匹配八进制转义值\nml n0-3,m10-7,nmlo匹配其中是一种用四个十六进制数字表达的字符例如,匹配版权\un n,n Unicode\u00A9符号o例子单词数量Ab[a-z]+\b/i[八「#]*/将一种解析为协议、域、端口及相对途径/\w+:W/:]+:\d*URL/A:Chapter|Section[1-9][0-9]{0,1}$/定位章节的位置至共个字母再加一种-号/[-a-z]/A z26可匹配而不能/ter\b/chapter,terminal可匹配而不能AB apt/chapter,aptitude可匹配或或当找到一种匹AVindows=95|98|NT/Windows95Windows98WindowsNT,配后,从背面开始进行下一次的检索匹配WindowsA[_\.0-9a-z-]+@[0-9a-z][0-9a-z-]+\.+[a-z]{2,3$Email合法格式检查A[0-9]+$纯数据检查八顾客名检查,字母和数字开始,只能含字母、数字、横杠[0-9a-z]{l}[0-9a-z\-]{0,19}$模式修正符忽视大小写i假如设定了此修正符,模式中的圆点元字符.匹配所有的字符,包括换行符S只用在」叩在替代字符串中对逆向引用作正常的替代,将其作为代码求e preglace,PHP值,并用其成果来替代所搜索的字符串如$p=7\[colorFont\].+\[VcolorFont\]/ie,;$t=,nimg src-color.phpt=M.urlencodeH\r,.n\7n,;ecoh preg_replace$p,$t,$string;这里必须加上修正,才能将匹配到的内容用处理e urlencode贪婪模式,最大程度匹配U如:匹配中的而不是假如不加修正,则匹配/a[\w]+e/U abceadedddabceade abce,U abce强制从字符串开头匹配,即自动在模式开头加上八A当设定了此修正符,“行起始”八和“行结束”$除了匹配整个字符串开头和结束外,m还分别匹配其中的换行符的之后和之前假如目的字符串中没有字符或者模式中没有人或$,“\n”则设定此修正符没有任何效果模式中的美元元字符仅匹配目的字符串的结尾没有此选项时,假如最终一种字符是换D行符的话,美元符号也会匹配此字符之前假如设定了修正符则忽视此选项例子m匹配中文网「中华人民;preg_match_aH7x00-\x80]+/s s$a假如你的文献是的,用/gb2312[\xa0-\xff]{2}/假如是的,用/匹配邮箱地址utf8[\xe0-\xef][\x80-\xbf]{2}/八替代空preg_match w+[-+.]\w+*@\w+[-.]\w+*\.\w+[-.]\w+*/,白字符$s=preg_replace7[\s\v]+/\n/sss sddss*;替代$string=April15,H;$pattern=7\w+\d+,\d+/i”;$replacement=n\${l}1,\${3}l-$2”;echo preg_replace$pattern,$replacement,$string;匹配帐号与否合法字母开头,容许字节,容许字母数字下划线5-6preg_match7A[a-zA-Z][a-zA-Z0-9_]{4,5}$/\fa011a匹配数字/八匹配负整数-\d*$//八匹配整数-\d*$/匹配浮点数preg_matchVA-\d*.\d*|
0.\d*|
0.04-|0$/,\M11n匹配电话号码preg_matchVA0[0-9]{2,3}\-[2-9][0-9]{6,7}{l,l}\-[0-9]{1,4}{OJ}$/T-Hn匹配手机号码preg_match7A13|5\d{9}$/n,H M文献处理文献属性文献或目录与否存在Cl.php获得文献大小判断给定文献名与否可读is_readable判断给定文献名与否可写is_writable判断给定文献名与否可执行is_executable获取文献的发明时间获取文献的修改时间获取文献的访问时间获取文献大部分属性值stat解析目录返回途径中的文献名部分basename返回目录dirname返回目录名、基本名和扩展名的关联数组遍历目录pathinfo打开指定目录opendir关闭指定目录readdir关闭指定目录closedir倒回目录句柄rewinddir$dir_handle=opendir7;while$$dir_handleecho$file.——file.vbr,;closedir$dir_handle;建立和删除目录创立目录mkdir删除空目录rmdir文献操作fopenfclose写入文献fwrite的别名fputs fwrite$文献名,$内容把内容存成文献从文献读出内容文献读取freadstream_get_contents从文献指针中读取一行fgets测试文献指针与否到了文献结束的位置feof从文献指针中读取字符fgetcfile读入一种文献并写入到输出缓冲readfile返回文献指针的目前位置移动文献指针到指定的位置fseek移动文献指针到文献的开头rewind文献锁定flock复制文献copy删除文献unlinkQ将文献截断到指定的长度ftruncate重命名文献或目录rename文献控制chgrpchmodstring$,int$mode chown保留读取文献-----------把内容存成文献$cache_file=fopenf:\l.txtJw+;fwrite$cache_file,$t;-----------把内容存成文献二内容”;$sT:/
2.txt;$s;-----------把文献内容读成字符串$s=T:/
2.txf;echo$s;-----------把文献内容按行读成字符串Shandie=@fopennf:/
2.txt\nrn;if$handle{while!feof$handle$buffer=fgets$handle,4096;echo$buffer.br;fclose$handle;session/cookiesetcookieMyCookie[foo]n,Testing time+3600session_start对应存活时间inLsetCsession.cookieJifetime^O;session cookieini_set,session.save_path,,dir1;ini_set,session.save_path\2;session*;session分两级寄存inLsetCsession.nameVSNS1;客户端禁用Cookie启动传递session.use_trans_sid=1url sessionldphp.ini销毁sessionmysql二$link mysqLconnectClocalhostVroof/root or diemysql_errno;mysqLselecCdbCtest1or diemysql_errno;mysql_querySET NAMESgbk*;$sql二SELECT*FROM testLIMIT0,20”;$result=mysql_query$sql ordiemysql_errno;二while$msg mysql_fetch_array$result{print_r$msg;mysql_free_result$result;mysql_close$link;mysqli查询-------------------------------过程$db_host=nlocalhostn;//连接的服务器地址$db_user=Hroof;〃连接数据库的顾客名$db_psw=nrootn;〃连接数据库的密码〃连接的数据库名称$db_name=test”;$mysqli=mysqli_connect$db_host,$db_user,$db_psw,$db_name;mysqli_query$mysqli/SET NAMESutf8,;$query=select*from users”;$result=mysqli_query$mysqli,$query;〃循环输出成果集中的记录while$row=mysqli_fetch_array$result echo$row|,id,|.nbrn;echo$row[username].nbrn;echo$row[password,].nbrn;echo hr;mysqli_free_result$result;mysqli_close$mysqli;-------------------------------对象$db_host=nlocalhostM;//连接的服务器地址$db_user=nrootn;//连接数据库的顾客名$db_psw=nrootn;〃连接数据库的密码〃连接的数据库名称$db_name=test”;$mysqli=newmysqli$db_host,$db_user,$db_psw,$db_name;$mysqli-queryfSET NAMESutf8;$query=select*from users”;$result=$mysqli-query$query;if$result判断成果集中行的数目与否不小于if$result-num_rows0//〉//循环输出成果集中的记while$row=$result-fetch_arrayecho//Output oneor morestringsprint//Output astring〃打印有关变量的易于理解的信息print_r〃打印变量的有关信息var_dump〃输出或返回一种变量的字符串表达var_exportprintfH%.1f,$num//Output aformatted stringsprintf//Return aformatted string编码转换string mb_convert_encodingstring$str,string$to_encoding[,mixed$from_encoding]iconv;时间date_default_timezone_setHPRCn;dateY-m-d H:i:sH;time;datenY-m-d H:i:sH,time+3600ini_set*date.timezone\PRC*;msec secmicrotime以秒返回时间戳explode,microtime错误处理@1/0显示所有错误error_reportingE_ALLerror_reporting0trigger_errornCannot divideby zero,E_USER_ERROR;try执行失败;throw newExceptioncatch Exception$execho$ex;字符串处理string trimneee”trim//Itrim rtrim二按指定字符切割array explodefff.fffstring implodcn.\$array别名join把数组值数据按指定字符连接起来arraystr_splitneeeeeeeeH,4按长度切割字符串按指定字符切害array I取字符长度int strlenCTfffffffstringsubstrstring$string,int$start[,int$length]截取字符substr$a,-2,2echo$row
[0].nbrH;echo$row[l].nbrH;echo$row
[2].nbrn;echo}else”查询失败”;echo$result-free;$mysqli-close;增、册改k「〃实例化$mysqli=new mysqlilocalhost,root Toot”Jsunyang;mysqli$query=ndelete fromemployee whereemp_id=2;$result=$mysqli-query$query;if$result{”删除操作执行成功”;echo}else{”删除操作执行失败”;echo$mysqli-close;绑定成果$mysqli=new mysqlinlocalhost,/,rootH,nrootn,ntestH;//实例化mysqli$query=select*from users”;//进行预准备语句查询$result=$mysqli-prepare$query;〃执行预准备语句$result-execute;〃绑定成果$result-bind_result$id,$username,$password;while$result-fetch{echo$id/J;echo Susername.L*;echo$password;echo Hbrn;}//关闭预准备语句$rcsult-closc;〃关闭连接$mysqli-close;绑定参数$mysqli=new mysqlinlocalhost,,/rootn,nroot,V,testn;〃实例化mysqli$query=ninsertinto users id,username,password values”;$result=$mysqli-prepare$query;$result-bind_paramnssn,$username,$password;〃绑定参数I:integerD:double S:string B:blob$username=sy0807;$password=,employee7;〃执行预准备语句$result-execute;$result-close;$mysqli-close;绑定参数、绑定成果$mysqli=new mysqlilocalhostu,root1,nrootn,ntestH;//实例化mysqli$query=nselect*from userswhere idn;$result=$mysqli-prepare$query;$result-bind_paramniH,$id;〃绑定参数$id=10;$result-execute;〃绑定成果$result-bind_result$id,$username,$password;while$result-fetch{echo$id.n_n;echo$username._;echo$password;echo”br;}$result-close;$mysqli-close;多条查询语句$mysqli=new mysqlinlocalhostn,Hrootn,Hroot,\ntestn;〃实例化mysqli$query=select idfrom users;;$query.=nselect idfrom testH;〃执行多种查询if$mysqli-multi_query$query{do{if$result=$mysqli-store_result{while$row=$result-fetch_row{echo$row
[0];echo nbrn;$result-close;if$mysqli-more_results{echo C-----------------brn;〃连个查询之间的分割线}while$mysqli-next_result;〃关闭连接$mysqli-close;pdo查询$db=new PDO,mysql:host=localhost;dbname=test»Yoot1,root1;$sql=SELECT*FROM users;$result=$db-query$sql;foreach$result as$row var_dump$row;$db=null;增、册、改、事务启动lj try$db=new PDOmysql:host=localhost;dbname=test;Toot;Toot;$db-beginTransaction;$a=$db-execninsert intousers id,username,password valuesJoe,,Bloggsln;if$a==false执行失败;throw newException sqll$b=$db-execninsert intousersid,username,password,kkk values,Joe,Bloggs”;if$b==falsethrow newExceptionnsql2执行失败$db-commit;$db=null;catch Exception$execho$ex;$db-rollback;缓存Memcache・下载memcached,;
2.解压,例如放在D:\memcached-121;
3.DOS下输入,进行安装注意不要输入;.再次输入D:\memcached-L
2.1\memcached.exe-d install44D:\memcached-
1.
2.1\memcached.exe-d start启动memcachedo注意:memcached后来会随机启动这样就已经安装完毕了memcached$memcache=new Memcache;$memcache-addServer
172.
19.
5.1991,11211;$memcache-addServer
172.
19.
5.131,11211;//$memcache-connect,localhost,,11211ordieCould notconnect1;二//$version$memcache-getVersion;//echo Serversversion:H.$version;$memcache-set,key3,,array1,2,3;var_dump$memcache-get,key3;obob_start$content=ob_get_contents;ob_clean;「$cache_file=fopenf:\l.html w+;fwrite$cache_file,$content;页面静态化---------------------------------------ob_start;静态页面$static_file=IhtmT;//〃目前动态页面$php_file=basename—FILE—;if!$static_file||〃缓存固定期间$static_time||〃源文献已修改$php_file$static_file,静态页面示例,;echoecho erer;$c=ob_get_contents;ob_clean;$static_file,$c;}$s=$static_file;echo$s;关闭启动每次输出后都自动刷新,而不再需要去ob_implicit_flush$p$p:0:1:调用flushQ列出所有使用的输出句柄objist_handlcrsoutput_add_rewrite_varoutput_add_rewrite_varvar,value;echo a href=,,nlink/a,;输出a href=,,nlink/aoutput_reset_rewrite_varsoutput_add_rewrite_varvar,value;echo*a href二输出a href=nnlink/a ob_flush;output_reset_rewrite_vars;echo*a href二输出ahref=,,nlink/a伪静态首先必须要空间支持以及对站点目录中有的文献解析,才有效.怎Rewrite.htaccess样让空间支持和的文献解析呢往下看第一步:要找到安装目录Rewrite.htaccess apache下的文献,在里面找到httpd.cof Directory/Options FollowSymLinksAllowOverridenone把改第二步找到如下内容/Directory noneall,#LoadModule rewrite_module改为modules/mod_rewrite.soLoadModule rewrite_module modules/mod_rewrite.so第三步保留重启另一方面是的书写规则apacheo oko.htaccessIfModule mod_rewrite.cRewriteEngine OnRewriteBase/#打开容许符号链接Options FollowSymLinksRewriteRulesmarty/[0-9]+/[0-9]+smarty/index.phpid=$1name=$2/IfModule加入如下内容.htaccessRewriteEngine OnRewriteBase/RewriteRule A.*list-id[0-9]+\.html$$l/company/search.phpsectorid2=$2RewriteRule八.*cominfo・[a-zO-9]+\.html$$1/mcmbcr/indcx.phpuid=$2typc=cominfoRewriteRule A.*list-[0-9]+-[0-9]+\.html$$l/plus/list.phptypeid=$2PageNo=$3RewriteCond%{HTTP_HOST}A[a-z0-9\-]+\.lujin\.com$RewriteCond%{HTTP_HOST}!A\.lujin\.com$RewriteRule A/$/%{HTTP_HOST}RewriteRule A/[a-z0-9\-]-i-\.lujin\.com/$/member/index.phpuid=$l[L]对上面的某些解释RewriteRule A.^list-id[0-9|+\.html$$1/company/search.phpsectorid2=$2这条是把企业库的分类进行伪静态处理原先假设访问地址为目前地址为长处、伪静态处理加速搜索引擎收入
1、地址映射到根目录,增长权重,提高排名2序列化_sleep—wakeupO$a=array,“2“=b3=“c J4“=“d;序歹化*/$b=serialize$a;/*J var_dump$b;解析*/$f=unserialize$b;/*var_dump$f;class Spublic$t=111;public functiont echot function;$s=new S;$t=serialize$s;$e=unserialize$t;echo$e-t;echo$e-t;class Spublic$id;public$name;public functionf echo!f function;function_sleep$this-id=uniqid;return array,id,,,name,;function_wakeup//$this-id=uniqid;$s=new S;$s-name=name;$e=serialize$s;$t=unserialize$e;echoecho$t-f;class Spublic$t=111;public functiont echot function;}$s=new S;$t=serialize$s;$cache_file=fopenf:/LtxtJw+;fwrite$cache_file,$t;/*die;$e=unserialize$t;echo$e-t;echo$e-t;*/Shandie=@fopennf:/l.txtn,nrn;if$handle while!feof$handle$buffer=fgets$handle,4096;break;fclose$handle;}$e=unserialize$buffer;echo$e-t;ThinkPHP
2.0入口文献配置生成的文献与否去空白defineSTRIP_RUNTIME_SPACE,false;〜runtime.php和注释defineNO_CACHE_RUNTIMEtrue;不生成关键缓存文献查询按照排序显示前条记录id6$Form=MnFormM;$list=$Form-orderid desc,-limit6-select;获得模板显示变量的值$this-assign,tt,,Vvvvvvvvvvvv;echo$this-get,tt成功失败提醒页iffalse!==$Form-add{数据添加成功!;$this-successC}else{数据写入错误;$this-erroi*C自动验证(验证字段,验证规则,错误提醒,验证条件,附加规则,验证时间)array验证规则字段必须、邮箱、地址、货币、require emailurl URLcurrency number数字或者新增数据时候验证Model::MODELJNSERT1或者编辑数据时候验证Model::MODEL_UPDATE2或者所有状况下验证(默认)Model::MODEL_BOTH3(protected$_validate=array《验证码必须!),//默认状况下用正则进行验证array verify^require:帐号名称已经存在!;」)〃在新增的时候验arrayCname0unique,1,证字段与否唯一namearrayCvahieray(1,2,3);值的范围不对的!2in),//当值不为空的时候判断与否在一种范围内(确认密码不对的)验证确airay repasswordpassword,,0,confirm,//认密码与否和密码一致(密码格式不对的),//自定义airay passwordcheckPwd;:0,function函数验证密码格式);多域名配置apacheNameVirtualHost*:80Alias/php/nf:/php/nDirectory nf:/php/nOptions Indexes Order allow,deny Allowfrom all/DirectoryVirtualHost*:80DocumentRoot F:/php ServerPathF:/php ServerAlias.comServerName.com/VirtualHostDirectory nF:/php2n OptionsIndexesOrderallow,deny Allowfrom all/DirectoryVirtualHost*:80ServerName.comServerAlias.comServerPath F:/php2DocumentRoot F:/php2/VirtualHostint substr_count$text,4s1字符串出现的次数第一次出现后的字符串〃别名string strstr$text,V hstrchrint strpos$text,h1第一次出现h的位置最终一次出现的位置strrpos;h把里的或替代为匕str_replacea\ttt\$t$tstrtr$t;is\!ppp JE$t中is,替代成,pppstrtrnhi all,I saidhello”,array“hello二〉“hi”把hello,转换成histring md5_file,
1.txt\false文献数据md5加密字符串比较int strcmpstring strl,string str2忽视大小写int strcasecmpstring strl,string str2在原字符左边补占,直到新字符串长度为string str_pad$i,10,STR_PAD_LEFT10STR_PAD_RIGHTSTR_PAD_BOTH反复个stringstr__repeat4\551将字串符解析为变量void parse_strfid=ir;echo$id;array preg_grepn/A\d+\.\d4-$/,\arrayl
1.2,11,
11.2匹配数据array preg_split7[\s,]+/*,nhypertext language,programming,;按指定的字符切割返回文献途径的信息array pathinfostring path[,int options]返回途径中的文献名部分string basenamestring path[,string suffix]返回途径中的目录部分string dirnamestringpath$_SERVER[PHP_SELF]string n12brnfoo isnt\n barfoo isn*tbr bar把换行转成vbr stringchr intascii*mixed str_word_countstring string[,int format[,string charlist]]stringstr_shuffle,abc打乱字符串次序翻转一种字符串string strrev$str*string strtolower$str*将字符串$str的字符所有转换为小写的string strtoupper$str*将字符串$str的字符所有转换为大写的string ucfirst$str*将字符串的第一种单词的首字母变为大写$strstring ucwords$str*将字符串的每个单词的首字母变为大写$str使用反斜线引用字符串这些字符是单引号、双引号”、string addslashesTm”IYm反斜线\与字符NUL NULLstringstripcslashesnIVmn Im将用addslashes函数处理后的字符串返回原样strip_tags“p〉ttv/p〉[p,清除html、xml、php标识,第二个参数用来保留标识string urlencodestringstrstring urldecodestringstrstring htmlspecialcharsHahref=testTest/a〉,ENT_QUOTES转换特殊字符为HTML字符编码lt;a hrcf=#039;tcst#039;gt;Tcstlt;/agt;-对双引号进行编码,不对单引号进行编码ENT_COMPAT-对单引号和双引号进行编码ENT_QUOTES-不对单引号或双引号进行编码ENT.NOQUOTES转换特殊字符为字符编码,中文会string htmlentitiesCpff/p\ENT.QUOTES HTML转成乱码数组处理别名取数组长度int countmixed var[,int mode]sizeofstring imploden.n,$array别名join把数组值数据按指定字符连接起来二按指定字符切割array explodefff.fff返回数组第一种参数为起使数,第二个参数为结束数,array range0,6,2array0,2,4,6第三个参数为数据增长步长int array_push$a,3,1把
3、T压入$a,将一种或多种单元压入数组的末尾入栈,第二个参数开始就是压入的数据void unsetmixed var[,mixed var[,...]]用尺将数组弥补到指定长度array array_pad$a,5,C将数组打乱bool shufflearray$array从数组中随机取出一种或多种单元的索引mixed array_randarray input[,int num_req]或键名记录数组中所有的值出现的次数array array_count_valuesarray input创立一种数组,用一种数组的值作为其键array array.combinearray keys,array values名,另一种数组的值作为其值检查给定的键名或索引与否存在于数组bool array_key_existsmixed key,array search中在数组中搜索给定的值,mixed array_searchmixed needle,array haystack[,bool strict]假如成功则返回对应的键名bool is_arraymixed var检查数组中与否存在某个值bool in_arraymixed needle,array haystack[,bool strict]计算数组中所有值的和number array_sumarray array移除数组中反复的值array array_uniquearray array将数组的内部指针指向第一种单元mixed resetarray arraymixed currentarray arraymixed nextarray arraymixed prevarray arraymixed endarray arraymixed keyarray array返回数组中所有的键名array array_keysarray input[,mixed search_value[,bool strict]]返回数组中所有的值array array_valuesarray inputboolprint_rmixed expression[,bool return]void var_dumpmixed expression[,mixed expression[,...]]在数组开头插入一种或多种单元int array_unshiftarray array,mixed var[,mixed...]将数组开头的单元移出数组mixed array_shiftarray array将数组最终一种单元弹出出栈mixed array_poparray array把数组中的一array array_splicearray$input,int offset[,int length[,array replacement]]部分去掉并用其他值取代array array_mergearray array1[,array array2[,array・・・]]合并——种或多种数组互换数组中的键和值array array_fliparray trans从数组中将变量导入到目前int extractarray var_array[,int extract_type[,string prefix]]的符号表建立一种数组,包括变量名和它们的值array compactmixed varname[,mixed...]从最低到最高重新安排bool sortarray array[,int sort_flags]用“自然排序”算法对数组排序bool natsort$a对数组进行逆向排序最高到最低bool rsortarray array[,int sort_flags]对数组进行排序并保持索引关系bool asortarray array[,int sort_flags]对数组进行逆向排序并保持索引关系bool arsortarray array[,int sort_flags]对数组按照键名排序bool ksortarray array[,int sort_flags]对数组按照键名逆向排序bool krsortarray array[,int sort_flags]用回调函数过滤数组中的单元array array_filterarray input[,callback callback]对数组中的每个组员bool array_walkarray array,callback funcname[,mixed userdata]应用顾客函数将回调函数作用到给定数组的单array array_mapcallback callback,array arrl[,array...]元上用给定的值填充数组array array_fill intstartjndex,int num,mixed valuearray_fill5,3,,a,-array5=,a,,6=,a,,7=,a将一种数组分割成多种array array_chunkarray input,int size[,bool preserve_keys]其他变量与否存在isset检查变量与否存在,并判断值与否为非空或非boolean empty0销毁变量void unsetheader*Content-Type:text/html;charset=utf-8f;判断对象的措施与否可用method_exists$obj,$method判断文献与否存在$filefunction_exists;class_exists$class_name;;获取数据类型gettype当碰到反斜杆、单引号,将会自动加上一种反斜set_magic_quotes_runtime0for off,1for on杆,保护系统和数据库的安全ini_set;安全function strReplace$str{$strResult=$str;〃判断设置与否启动if!get_magic_quotes_gpc〃转换语句特殊字符$strResult=addslashes$strResuIt;sqlreturn$strResult;function quotes$content〃假如那么就开始处理magic_quotes_gpc=Off,if!get_magic_quotes_gpc〃判断与否为数组$contentif is_array$content〃假如$团日是数组,那么就处理它的每一种单无8foreach$content as$key=$value$content[$key]=addslashes$value;else〃假如不是数组,那么就仅处理一次$contentaddslashes$content;}〃返回$contentreturn$content;smarty模板引擎将不分析!—{literal}—scriptfunction t{/script!—{/literal—读取配置文献!—{configjoad file=Hconfig.s}—!—{#site_url#}—!—{$smarty.config.site_url—引入文献!—{include file=index
2.html”}--!—{include_php file=17path/to/load_nav.phpH}—$trusted_dir指定目录下的文捕捉模板输出的数据!—{capture name=eee,}—fffffffff!—{/capture}—循环!—{$smarty.capture.eee—{section name=loop loop=$News_IN}{$News_IN[loop].NewsID}{/section}!—{section name=t loop=$data}—trtd!—{$data[t].username}—/td/tr!—{/section}—{foreach from=$newsArray item=newsID key=k}新闻编号{SnewsID.newsID}br新闻内容{$newsID.newsTitle}brhr判断{/foreach}!—{if true}—1111!—{else}—22222222时间{$smarty.now|date_format:n%Y-%m-%d%H:%M:%S}%Y年%111月%d日舌L码!—{$smarty.now|date_format:n%Y年%01月%1日%H时%]\4分%5秒”}―〉修改插件$format=mb_convert_encoding$format;gbkutf-8;return mb_convert_encodingstrftime$format,$timestamp,utf-87gbk,;局部不缓存html:!—{$smarty.now|date_format:n%Y-%m-%d%H:%M:%S}—!—{cacheless a=aaa“b=bbbb”}--!—{$smarty.now|date_format:n%Y-%m-%d%H:%M:%Sn}-!-{/cachcless}—Php$smarty-register_blockcacheless,,smarty_block_dynamic,,缓存,不缓存false;//true:false:function smarty_block_dynamic$param,$content,$smartyreturn$content;php:〃措施名前必须有“function insert_kk insert”{return dateY-m-d H:i:s;html:!—{insert name=kk}--自定义措施注册措施Php$smarty-register_function*testl\^est*;function test$p{return Tfffffffff;html:!—{testl name=措施自定义插件文献方式定义措施文献存在目录下,措施名function.test.php pluginssmarty_function_test$params,$smartyfunction smarty_function_test$params,$smarty return*fff;调用html!—{test name=aa p=ff}—插入措施插件文献文献存于目录下pluginsfunction smarty_insert_kk returndateY-m-d H:i:s;php:function insert_kk〃措施名前必须有“insertnreturn dateY-m-d H:i:s;html:二!—{insert namekk}--管道符自定义措施插件文献方式定义措施文献存在于目录下,措施名:modifier.test.php pluginsfunction smarty_modifier_test$str,$str2functionsmarty_modifier_test$str,$str2return$str.$str2;调用html!-{,ff|test:,tt}-php:function eee$a{return Tfffffffffffff;html:!-{H|@eee}-语句if相等,eq、不相等,ne neq不小于gt不小于等于,gte ge、不不小于等于,Ite le非,求模not mod与否能被某数整除,is[not]div by与否为偶数,is[not]even即$a is[not]even by$b$a/$b%2==0与否为奇is[not]odd即$a isnot oddby$b$a/$b%2!=0XMLsaxxml:—xml version=n
1.0H encoding=booksbookauthorJack Herrington/authortitlePHP Hacks/titlepublisherO,Reilly/publisher/bookbook。
个人认证
优秀文档
获得点赞 0