2023年php重要知识点总结PHP网络开发必背_第1页
2023年php重要知识点总结PHP网络开发必背_第2页
2023年php重要知识点总结PHP网络开发必背_第3页
2023年php重要知识点总结PHP网络开发必背_第4页
2023年php重要知识点总结PHP网络开发必背_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP网站开发必用知识点总结,函数一览,开发必背魔术方法_consiruct()当实例化一个对象的时候,这个对象的这个方法一方面被调用。_destruct()当删除-一个对象或对象操作终止的时候,调用该方法。_get()当试图读取一个并不存在的属性的时候被调用。_set()当试图向一个并不存在的属性写入值的时候被调用。_call()当试图调用一个对象并不存在的方法时,调用该方法。-toString()当打印一个对象的时候被调用_clonc()当对象被克隆时,被调用_isset()。unset()。auto1oad($classname)—sieep()wakeup()系统常量_FILE_当前文献名_LINE_当前行数—FUNCTION—当前函数名_CLASS_当前类名—METHOD—当前对象的方法名PHP.OS当前系统PHP.VERSIONphp版本DIRECTORY_SEPARATOR根据系统决定目录的分隔符八PATH_SEPARATOR根据系统决定环境变量的目录列表分隔符;://假如magic_quotes_gpc=Off,那么就开始解决oif(!get_magic_quotcs_gpc())。〃判断Scontent是否为数组gif(is_array($content))8。//假如$coment是数组,那么就解决它的每一个单无。。。4oreach(Scontentas$key=>$va1ue)TOC\o"1-5"\h\z00{$content[$keyl=adds1ashes($va1ue):0I)eIse00{。〃假如$c。ntent不是数组,那么就仅解决一次。。出ddslashes($content);)00}。//返回$contentoreturnScontent;)smarty。模板引擎将不分析<!—{litera1}--><script>,ofunetiont(){00Io</script><!--{/litera1!—>。读取配置文献»<!—{configjoadfile="config.s«<!--{#site_url#)->。<!--{$smarty.config.site_url}-->。引入文献。<!--{inc1udefile="index2.html"}—>g<!--{include_phpfile="/path/to/1oad_nav.php"}—>$trusted_dir指定目录下的文献捕获模板输出的数据。<!--{capturename='eee')->。fffffffff«<!--{/capture}-->s<!--{$smarty.capture.eee}-->。循环{sectionname=looploop=SNews_IN}>。<{$News_IN[loop].NewsID}>。<{/section}><!—{sectionname=tIoop=$data}--><tr><(d><!--{Sdataft].username}--></ld></tr>««<!--{/scction}--><{foreachfrom=$ncvvsArrayitcm=ncwsIDkey=k}>。。新闻编号:<{$newsID.newslD}><br>新闻内容:V{$newsID.newsTitle}xbrxhr><{/foreach}>判断m<!--{iftrue}—>1111<!--{else}—>o22222222o<!——{/if}-->。时间oo{$smarty.now|date.format:"%Y-%m-%d%H:%M:%S"}。%丫年%01月%d日乱码®<!--{$smarty.now|date_format:"%Y年%1。月%d日%H时%^1分%0秒”}。修改插件:plugins/modifier.date_format.phpSformat=mb_convert_encoding($fbrmat,*gbk','utf-8');relummb_convert_eneoding(strftime($format,$(imestamp),'utf-8','gbk');局部不缓存由tml:<!-{$smarty.now|date_format:"%Y-%m-%dS")-—>。<!—{cachelessa="aaa"b="bbbbu)—>gg<!--{$smarty.now|date_format:"%Y-%m-%d%H:%M:%S"}-->g<!{/cacheless}-->8Php:Ssmarty->register_block('cacheless','smarty_block_dynamic',false);//true:缓存,false:不缓存functionsmarty_block_dynainic(Sparam,$content,&$smarty)00{。。。。return$content;66}php:。functioninsert—kk()〃方法名前必须有"inserl"00{reiurndate('Y-m-dH:i:s');ao),htm1:o®<!—{insertname=,,kk"}->,自定义方法。注册方法Phpg<>$smarty->register_function('testl','test');ggfunctiontest($p)

return*ffffffffff;。。<!—{testlname="ff"}—>■>«■■■fli■■■■一一■■一■■■■■»a*■■一一一■■«■一—《■方法自定义。,插件文献方式定义方法“gfunction.Iest.php文献存在plugins目录下,方法名:smarty_function_ies($params,&$smarty)o。ofunctionsmarty_function_test(Sparams,&$smarty)000{®&return'fff;0}html调用:。y!--{testname='aa'p=*ff}-->。插入方法。。插件文献:insert.kk.php文献存于plugins目录下ggfunctionsmarty_insert_kk()og{ooo&oreturndate('Y-m-dH:i:s');OO6}叩hp:o®functioninsert_kk()//方法名前必须有"insert"000000000{00grelurndale('Y-m-dH:i:s');000Johtml:。y!--{insertnamc="kk"}->_«■——・—.____。管道符自定义方法插件文献方式定义方法。oomodifier.test.php文献存在于plugins目录下,方法名:functionsmarty_modifier_test($str,$str2)®functionsmarty_modifier_test($str,$str2)00{s。。returnSstr.$str2:°}gohtm1调用:。<!--{'ff'|test:'tt'}->Php:。。functioneee($a)°{。areturn'ffffffffffffff7;00}ghtm1:。。<!—{"I@eee}—>if语句eq相等,one、neq不相等,gl大于Mgte>ge大于等于,Ite、le小于等于,0noi非,mod求模。。is[not1divby是否能被某数整除,。is[not]even是否为偶数,$ais[not]evenby$b即($2/$6)%2==0®is[not]odd是否为奇g$aisnotoddby$t^|J($a/$b)%2!=0XMLsax,xml:<?xmlversion="1.0"encoding="utf-8>。。。<books>g<book>o<author>JackHerrington</author>-<title>PHPHacks</title>。<publisher>0'Rei11y</pubIisher>g</book>。<book>a<author>JackHerrington</author>g<tit1e>PodcastingHacks</tit1e>。<publisher>0'Rei1ly</publisher>s。〈/book><book><author>作者</author>。®<tit1e>标题v/tiUe>。。<pub1isher>出版者v/publisher>,</book></books>php:$g_books=array();o$g_elem=nu11;。functionstartE1ement($parser,$name,$attrs)00{agloba1$g_books,$g_elem;gif(Sname=='BOOK')$gbooks[]=array();。$g_elem=$name;00}。functionendEIement($parser,$name){。g1obal$g_elem;。$g_elem=nuII;°}sfunctiontextData($parser,$text)(g。global$g_books,Sg_elem;。if($g_elem=='AUTHOR'IIsg$g_elem=='PUBLISHER,||a。。$g_elem==*TITLE')$g_books[count($g_books)-1][$g_elem]ext;。}$parser=xnil_parser_ereate();。xml_set_e1ement_handler(Sparser,"startElement","endElement");gxml_set_character_data_handler($parser,"textData");$f=fopen(z1.xml','r');。while($data=fread($f,4096))°{xml_parse($parser,$data);°}axm1_parser_free($parser);foreach(Sg_booksas$book)oecho$book['TITLE']."-".$book[zAUTHOR'echo$book[PUBLISHER']."vbr>";DomDocument()axm1:00<-—?xm1version="1.0"encoding="utf—8"?-->8o<books><book>00*<author>JackHerrington</author>。®<titlc>PHPHacks</tit1c>。<publisher>0'Reilly</publisher></book><book>。<author>JackHerrington</author>。<title>PodcastingHacks</title><pub1isher>0"Reil1y</publisher></book><book>og<author>作者</author><tide>标题</tille>o。<publisher>出版者v/publisher></book>oo</books>3php读取:$doc=newDOMDocument();。$doc->load("l.xml");。。。$books=$doc->getE1ementsByTagName("book");。foreach($booksas$book)$authors=$book->getElementsByTagName("authoE_ERROR1E.WARNING2E_PARSE4E_NOTICE8M_PI3.141592s_server$_ENV执行环境提交至脚本的变量$_GET$_POST$REQUEST$_FILES$_COOKIES_SESSION$,GLOBALS输出echo//Outputoneormorestrings。print//Outputastringprinr()//打印关于变量的易于理解的信息。flvar_dump()〃打印变量的相关信息var_export()//输出或返回一个变量的字符串表达printf("%.1$num)//Outputaformattedstringsprintf()//Returnaformattedstring编码转换stringmb_convert_encoding(string$str,string$lo_encoding[,mixed$from_encoding])$author=$authors->item(0)->nodeVa1ue;$publishers=$book->gelEIementsByTagName("publisher");3$publisher=$pub1ishers->item(0)->nodeVa1ue;。$ti(les=$book->getE1ementsByTagName("lide");g。$tit1e=$tit1es->item(0)->nodeVa1ue;«。echo"$tit1e—$author-$publisher<br>";}php生成:。。。$books=array();a。。$books[]=array(Ztit1cf=>'PHPHacks',"author'=>'JackHerrington',。'publisher'=>"O'Reil1y"88)•s。$books[]=array(oa'title'=>'PodcastingHacks\。g'author'=>'JackHerrington',0。'pub1isher'=>"OReilly”);,$doc=newD0MDocumen1();oo®$doc->formatOutput=true;Sr=$doc->createE1ement(*'books");g$doc->appendChi1d($r);。。foreach($booksas$book)g$b=$doc->crealeElement("book");g。$author=$doc->createElement("author");»$aulhor—>appendChiId($doc->createTextNode($book['au(hor'l));3o$b—>appendChi1d($author);$titlc=$doc—>createE1ement("titie");。Stitle->appendChild($doc->createTextNode($bookftite']));<»$b->appendChild($titie);$pub1isher=$doc->crealeElement("publisher");。$pub1isher->appendChild($doc->createTextNode($bookI'publisher']));o<»$b->appendChi1d($publisher);。$r->appendChild($b);gechoSdoc—>saveXML();。echo$doc->save('222.xmlz);SimpleXMLxml:<books>。<book>g<author>JackHerrington</author>。。<tit1e>PHPHacks</titlc>。<publisher>O'Reilly</publisher>。。</book>aV/books>3php:o$xml=newSimpleXMLElement('Lxml',NULL,TRUE);gecho$xm1—>book[0]->author.'*$xml->book[0]—>titie."book[0]->pub1isher;正则ereg系列的正则表达式不需要定届符,Preg系列的才需要,并且定界符可以自己选择,只有前后一对就行,比如我们一般使用/符号,但是假如里面有/需要匹配那么就需要使用V来表达,当/需要出现多次的时候,这样就不方便,我们就可以使用其他的定界符,比如I正则特殊字符。.\+*?[人]$(){}=!<>|:由原子(普通字符,如英文字符)、元字符(有特殊功用的字符)模式修正字符一个正则表达式中,至少包含一个原子所有符号解释\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,'2匹配字符”n"。匹配一个换行符。序列'\丫匹配"而”\(“则匹配”(二匹配输入字符串的开始位置。假如设立了RegExp对象的Muiti1ine属性,人也匹配'或'T之后的位置。$匹配输入字符串的结束位置。假如设立了RegExp对象的MuElinc属性,$也匹配、n'或,\r'之前的位置。文匹配前面的子表达式零次或多次。例如,zo大能匹配"z"以及"zoo%*等价于{0,}O+匹配前面的子表达式一次或多次。例如,'zo4能匹配“zo"以及“z。。”,但不能匹配“z”(,+等价于{1配。?匹配前面的子表达式零次或一次。例如Jdo(es)?"可以匹配"do”或“does”中的”do"。?等价于{0,1}。{n}n是一个非负整数。匹配拟定的n次。例如/o{2}'不能匹配"Bob”中的'o',但是能匹配"food"中的两个o。{n,}n是一个非负整数。至少匹配n次。例如为{2,「不能匹配"B。b”中的'o',但能匹配"foooood"中的所有o。'。{1,}'等价于’0+'。'o{0J'则等价于'o*'。{n,m}m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,"。{1,3}“将匹配"fooooood”中的前三个。。'。{0』}'等价于P?'。请注旨在逗号和两个数之间不能有空格。?当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽也许少的匹配所搜索的字符串,而默认的贪婪模式则尽也许多的匹配所搜索的字符串。例如,对于字符串"。。。。",'。+?’将匹配单个"o",而‘。+'将匹配所有'。'。.匹配除“\n"之外的任何单个字符。要匹配涉及V,在内的任何字符,请使用象l.\n]'的模式。(pattern)匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用'\('或'\)'。(?:pattern)匹配paltern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用“或“字符(I)来组合一个模式的各个部分是很有用。例如Jindustr(?:yIics)就是一个比'industry|industrics)更简略的表达式。(?=pattern)正向预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,'Windows(?=95|98|NT|2023),能匹配"Windows2023”中的“Wind。ws",但不能匹配"Windows3.1"中的"Windows%预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。(?!pattern)负向预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows(?!95I98|NT|2023)"能匹配"Windows3.1"中的"Windows”,但不能匹配"Windows2023"中的"Windows:预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始xIy匹配x或y。例如,1z|food'能匹配"z"或"food"。'(z|f)ood'则匹配“zood"或"food”。[xyz]字符集合。匹配所包含的任意一个字符。例如,'[abe]'可以匹配"plain"中的'a*o[Axyz]负值字符集合。匹配未包含的任意字符。例如,Pabe]'可以匹配"plain"中的,p’。[a-z]字符范围。匹配指定范围内的任意字符。例如[a-z]'可以匹配'工到2'范围内的任意小写字母字符。卜a-z]负值字符范围。匹配任何不在指定范围内的任意字符。例如,'/a-z]'可以匹配任何不在‘"到"范围内的任意字符。\b匹配一个单词边界,也就是指单词和空格间的位置。例如,由"可以匹配”never"中的'er',但不能匹配"verb"中的'er'。\B匹配非单词边界°'er\B'能匹配"verb"中的'er',但不能匹配"never"中的‘er'。\cx匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a—z之一。否则,将c视为一个原义的V字符。\d匹配一个数字字符。等价于[0-9]。\D匹配一个非数字字符。等价于「0-9]。\f匹配一个换页符。等价于\x0c和\cL。\n匹配一个换行符。等价于\x0a和\cJo\r匹配一个回车符。等价于\x0d和\cM。\s匹配任何空白字符,涉及空格、制表符、换页符等等。等价于[\f\n\r\tW]O\S匹配任何非空白字符。等价于[^\f\n\r\t\v]o\t匹配一个制表符。等价于\x()9和\cI。\v匹配一个垂直制表符。等价于\x0b和\cK。\w匹配涉及下划线的任何单词字符。等价于1A-Za-zO-9」,。\W匹配任何非单词字符。等价于'[-A-Za-z0-9_]'o\xn匹配n,其中n为十六进制转义值。十六进制转义值必须为拟定的两个数字长。例如,'\x4「匹配"A"。H041'则等价于\x04'&"1"。正则表达式中可以使用ASCII编码。.\nurn匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,'(.)\「匹配两个连续的相同字符。\n标记一个八进制转义值或一个向后引用。假如\n之前至少n个获取的子表达式,则n为向后引用。否则,假如n为八进制数字(0-7),则n为一个八进制转义值。\nm标记一个八进制转义值或一个向后引用。假如\nm之前至少有nm个获得子表达式,则nm为向后引用。假如\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。假如前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。\nml假如n为八进制数字(0-3),且m和1均为八进制数字(0-7),则匹配八进制转义值nm1o\un匹配n,其中n是一个用四个十六进制数字表达的Unicode字符。例如,\u00A9匹配版权符号(?)。例子Ab([a-z]+)\b/i单词数量/(\w+):W([M]+)(:\d*)?([A#]*)/将一个URL解析为协议、域、端口及相对途径/八(?:ChapterlSection)[1-9][0-9]{0J}$/定位章节的位置/[-a-z]/A至z共26个字母再加一个-号。/ter\b/可匹配chapter,而不能terminal/\Bapt/可匹配chapter,而不能aptitude/Windows(?=95|98|NT)/可匹配Windows95或Windows98或WindowsNT,当找到一个匹配后,从Windows后面开始进行下一次的检索匹配。A[_\.0-9a-z-]+@([0-9a-z]I0-9a-z-]+\.)+[a-z]{2,3}$Email合法格式检查[0-9]+$纯数据检查A[0-9a-z]{l}[0-9a-z\-]{0,19}$用户名检查,字母和数字开始,只能含字母、数字、横杠模式修正符i忽略大小写s假如设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,涉及换行符e只用在preg.repIace(),在替换字符串中对逆向引用作正常的替换,将其作为PHP代码求值,并用其结果来替换所搜索的字符串。如:$p='/\[colorFont\](.+?)\[Vco1orFonl\]/ie$t=*"<imgsrc=,color,php?t=".urlencode("\1")."\7>,n;ecohprcg_rcplace($p,$t,$string);这里必须加上e修正,才干将匹配到的内容用ur1encode解决U贪婪模式,最大限度匹配如:/a[\w]+?e/U匹配abceadeddd中的abceade而不是abce,假如不力口U修正,贝!J匹配abceA强制从字符串开头匹配,即自动在模式开头加上人m当设定了此修正符,“行起始”a和“行结束”$除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。假如目的字符串中没有“\n”字符或者模式中没有人或$,则设定此修正符没有任何效果。D模式中的美元元字符仅匹配目的字符串的结尾。没有此选项时,假如最后一个字符是换行符的话,美元符号也会匹配此字符之前。假如设定了m修正符则忽略此选项。例子。。匹配中文。preg_match_all(7[A\x00-\x80]+/','中华s人s民,,$a)。假如你的文献是gb2312的,用/[\xaO-\xff]{2}/。假如是utf8的,用/[\xeO-\xef][\x80-\xbf]{2}/匹配邮箱地址opreg_match('Aw+([-+.]\w+)火@\w+([—.]\w+)*\.\w+([-.]\w+)*/替换空白字符。$s=prcg_rcp1ace('/[\s\v]+/',",'ssssddss');。。替换$string="April15,2023";•Spattern="/(\w+)(\d+),(\d+)/i";$rep1acement="\${1}1,\${3)1-$2";aftechopreg_replace(Spattern,$replacement,$string);匹配帐号是否合法(字母开头,允许5-6字节,允许字母数字下划线)。。preg_match('/A[a-zA-Zl(a-zA-Z0—9_]{4,5}$/',/a011a'),匹配数字。。八Ad*$/匹配负整数。。/八-?\d*$/匹酉己整数匹配浮点数。preg_match('7A-?(\d*.\d*|0.\d*I0?.0+|0)$/","11")匹配电话号码。preg_match('7A(0[0-9]{2,3}\-)?([2-9][0-9]{6,7}){1,1}(\-[0-9]{1,4}){0,l)$/";'-!1")匹配手机号码叩reg_match("/A1(3|5)\d{9}$/“,"文献解决。文献属性«file_exists('l.php')文献或目录是否存在。filesize()取得文献大小-is_readable()判断给定文献名是否可读is_writable()判断给定文献名是否可写s_executable()判断给定文献名是否可执行。fi1ectimeO获取文献的发明时间fi1emtimeO获取文献的修改时间。filcatimc()获取文献的访问时间sial()获取文献大部分属性值。解析kl录8basename()返回途径中的文献名部分8dirname()返回目录pathinfo。返回目录名、基本名和扩展名的关联数组遍历目录gopendir()打开指定目录。readdir()关闭指定目录®cIosedir()关闭指定目录rewinddir()倒回目录句柄。。$dir_handle=opendir(z。while($file=readdir(Sdir_hand1e))°{ggechofi1esize($file).'',$fi1e.'<br>';00)®closedir(Sdir_hand1e);。建立和删除目录。mkdir。创建目录。rmdir()删除空目录。文献操作8fopen()。fclose()fwrite()写入文献8fputs()fwrite的别名Mile_put_contents岱文献名,$内容)把内容存成文献gfilc_get_contents()从文献读出内容文献读取iconv();时间date_defau1t_timezone_set("PRC");»datc(vY-m-dH:i:s");«date("Y-m-dH:i:sH,time()+3600)ini_set('date,timezone1,'PRC');◎msecsecmicrotime()以秒返回时间戳explode(',,microtime())错误解决o@l/0error_reporting(E_ALL)显示所有错误error_reporting(0)4rigger_error("Cannotdividebyzero",E_USER_ERROR);try(8thrownewException("执行失败");°)catch(Exception$ex)(。echoSex;0)字符串解决stringtrim("eee")trim('ffffe','e')//1trimrtrimoarrayexplode(".","fff.ff.f')按指定字符切割fread()«stream_get_contents()8fgets()从文献指针中读取一行“eof()测试文献指针是否到了文献结束的位置gfgetc()从文献指针中读取字符file()。。但adfi1e()读入一个文献并写入到输出缓冲。返回文献指针的当前位置oofSeek()移动文献指针到指定的位置rewindO移动文献指针到文献的开头gflock。文献锁定笛。Py()复制文献。。unlink。删除文献-ftruncatc()将文献截断到指定的长度ename()重命名文献或目录。文献控制,chgrp8chmod(string$fi1ename,int$mode)3chown。保存读取文献。把内容存成文献$cache_file=fopenff:\1.txt','w+');®fwrite($cache_file,$t);。-一把内容存成文献。$s="内容”;。file_put_contents('f:/2.txt',$s);把文献内容读成字符串$s=fiIe_get_contents('f:/2.txt');«echo$s;一--一一把文献内容按行读成字符串。。$hand1c=@fopen("f:/2.txt","r");®if($handle)。{awhile(!feof($handle))。(s$buIfer=fgets(Shandle,4096);。»echo$buffer.'<br>';00}。fclose($handle);s)o____session/cookiesetcookie(HMyCookie[foo]",'Testing1',time()+3600),session_sIart()oini_set('session.cookie_1ifetime',0);session相应cookie存活时间oini_set('session.save_path','dir');ini_set("session,save_path'2;session');session分两级存放«ini_set(''/SNS');。客户端禁用Cookie。。session.use_trans_sid=1启动url传递sessionldphp.iniosession销毁niysq1«$link=mysq1_connect('loca1host','root\'rootz)ordie(mysqi_crrno());amysq1_select_db('test')ordie(mysq1_ermo());mysql_qucry(*SETNAMESgbk');$sql="SELECT*FROMtestLIMIT0,20";»$result=mysql_query($sql)ordie(mysql_errno());。while($msg=mysql_feteh_array($resuIt)){。print_r($msg);)mysql_free_result($resu1t);«mysq1_cIose($link);mysqli查询0-————..过程g$db_host="localhost";//连接的服务器地址o$db_user="root0;〃连接数据库的用户名db_psw="root";//连接数据库的密码$db_name="test";//连接的数据库名称。$mysqli=mysqli_conncct($db_host,$db_uscr,$db_psw,$db_name);。mysqli_query($mysq1i,zSETNAMESutf8');®$qucry="select"fromusers";«$result=mysqli_query($mysq1i,$query);。while($row=mysq1i_fctch_array($rcsult))〃循环输出结果集中的记录echo($row[,id/]).u<br>";3echo($row['username/])."<br>";。。笛cho($row('password*])."<br>";®ccho"<hr>";°)omysqli_frce_result($rcsu1t);8mysqli_close($mysq1i);®一■-对象$db_host=Mlocalhost";〃连接的服务器地址。$db_user="root";//连接数据库的用户名,$db—psw=Hroot";〃连接数据库的密码。$db_name="test";〃连接的数据库名称g$niysqli=newmysqli($db_host,$db_user,$db_psw,$db_name);-$mysq1i->query('SETNAMESutf8');g$query="select*fromusers”;»$result=$mysqli->query($query);。if(Sresult)ao{o^if($result—>num_rows>0)//判断结果集中行的数目是否大于0。whi1e($row=$result->fetch_anay())//循环输出结果集中的记录8(。o«echo($row[OJ)."<br>";3bgecho($row[1])."<br>";8,。echo($row[2])."<br>";echo"Vh〉";else。(。echo”查询失败”;resu1t->free();o$mysqli->c1ose();。增、删、改g$mysq1i=newniysqli("localhost'\"root","root"Jsunyang");〃实例化mysqli^$query="deletefromemployeewhereemp_id=2";o$rcsult=$mysqli->query($qucry);®if($result){。echo”删除操作执行成功”;}e1se{echo”删除操作执行失败”;o)®$mysqli->c1ose();绑定结果。$my$q1i=newmysq1i("localhost'V'root","rootst");//实例化mysq1i。$qucry="select*fromusers";。$resu1t=$mysq1i->prepare($query);〃进行预准备语句查询////执行预准备语句//执行预准备语句$result->execute()//执行预准备语句〃绑定结果®$resull->bind_resu11($id,$usernaine,$password);while($result->fetch()){〃绑定结果occh0$id。»echo$username.ooecchoSpassword;wcho"<br>";00}g$result-8[ose();〃关闭预准备语句»$mysqli—>c1ose();〃关闭连接绑定参数o$mysq1i=newmysqli("loca1host","root"/'root",°test");//实例化mysqli$query="inscrtintousers(id,username,password)values(",?,?)";。$result=$mysqli->preparc($query);g$result->bind_param("ss'\$usemame,$password);〃绑定参数I:inlegerD:doubleS:stringB:b1obo$usemame='syO807';password='employee7';»$resu1t->execute();〃执行预准备语句。$result->close();8$mysq1i->c1ose();绑定参数、绑定结果$mysqli=newmysqli("loca1host",urootroot","test");〃实例化mysqli

s$query="selecl*fromuserswhereid<?";$result=Smysqli->prepare($query);$rcsult->bind_param("i",$id);//绑定参数«$id=l0;。$result->cxccutc();»$result->bind_resu1t($id,$username,$password);//绑定结果»whi1e($resuit->feteh()){echoSid."echo$username.woecho$password;gecho"<br>”;0)o$result->c1ose();o$mysqli->c1ose();多条杳询语句o$mysq1i=newmysq1i("1ocalhost","root",”root",”test");〃实例化mysq1i。$query="selectidfromusers;";$query.="selectidfromtest";°if($mysqli—>mu1ti_query($query)){//执行多个查询。do{000000。。if($result=$mysqIi—>store_result()){while(Srow=$rcsult->fctch_row()){00echo$row[0];-echo"<br>";TOC\o"1-5"\h\z00j,$rcsuIt->c1osc();00Joif($mysqli—>morc_rcsults()){g。echo("———-—<br>");〃连个查询之间的分割线00J。。。}while($mysq1i->next_result());)®$mysqli->c1ose();〃关闭连接pdo。查询。$db=newPD0('mysql:host=localhost;dbname=lest\'rool','root');。。$sqi="SELECT*FROMusers";g$resu1t=$db->query($sql);。。foreach($resuItas$row)(。var—dump($row);°}$db=null;增、删、改、事务启动8try00g$db=newPDO('mysql:host=loca1host;dbname=test','root\'root');

00$db->beginTransaction();«$a=$db->exec("insertintousers(id,username,00es(〃,'Joe',,Bloggs')"):gif($a==false)MhrownewException("sqll执行失败)00}$b=$db->exec("insertintousers(id,sword,kkk)values,'Joe'Bloggs*)");w>if($b==false)0o{athrownewException("sql2执行失败");o$db->commit();$db=nuII;catch(Exception$ex)00{。oechoSex;$db->ro11back();°}缓存Memeache.下载memcached,;2.解压,比如放在D:\mcmcapassword)valuusemame,pasched-1.2.1;3.DOS下输入'D:\memcached-1.2.1\memcached.exe-dinstal1',进行安装(注意、''不要输入);4.再次输入'D:\memcached-1.2.1\memcached.exe-dstart'启动memcachedo注意:memcached以后会随机启动。这样memcachedpassword)valuusemame,pasched-1.2.1;毕了…。$1]】emcache=newMcmcachc;$memcache->addServer('99,,11211);«$incmcache—>addServer(z173,,11211);,//$memeache->connect('localhos,11211)ordie("Cou1dnotconnect");o®//$version=$niemeache->getVersion();g〃echo"Server'sversion:$version;8$nicmcache->set('key3',array(1,2,3));^var_dump($menicache—>get('key3'));◎ob。ob_start(),$content=ob_get_contents();®ob_c1ean();$cache_fi1e=fopen('f:\l.htmlz'w+');。fwrite($cache_fi1e,$content);0页面静态化一一一——一一一一«ob_stail();。$static_file=,l.html,;〃静态页面$php_file=basename(FILE);〃当前动态页面ifexists($static_fiIe)||®((fi1emtime($static_fi1e)+10)<time())||//缓存固定期stringimplode,",$array)别名:join把数组值数据按指定字符连接起来arraystr_split("eeeeeeee",4)按长度切割字符串arraysplitMfff)按指定字符切割intstrlen('ffffffff')取字符长度^stringsubstr(string$string,int$start[,int$1ength])substr($a,-2,2)截取字符intsubstr_count($text,,is')字符串出现的次数•stringstrstr($text,'h')第一次出现h后的字符串//别名:strchrintstrpos($text,'h')第一次出现h的位置应rrpos();最后一次出现h的位置str_replaceCa'Jt心$t)把$t里的'a'替换为‘ttt'strtr($t,'is':ppp')把$1中,is,替换成'ppp'strtr("hiall.Isaidhe1Io",array("hel1o"=>"hi"))把'he11。'转换成力i'岭tringmd5―file('1.txt',false)文献数据md5加密intstrcmpCstringstrl,stringstr2)字符串比较®intstrcaseemp(stringstrLsiringslr2)忽略大小写stringstr_pad($i,10,STR_PAD_LEFT)在原字符左边补一,直到新字符串长度为10STR_PAD_RIGHTSTR.PADBOTHstringstr_repeatCl',5)反复5个1voidparse_str('id=l1f);echoSid;将字串符解析为变量•arraypreg_grep(7A(ki+)?\.\d+$/",array(11.2,11J1.2))匹配数据arraypreg_split(V[\s,]+/","hypertextlanguage,programming°);按指定的字符切割fi1emtime($php_file)>filemtime($static_file))〃源文献已修改{。。。echo,静态页面示例,;echo'erer';g$c=ob_get_contents();ob_clean();&®file_put_contents($static_file,$c);°}$s=fiIe_get_contents($static_fi1e);o»ccho$s;Qw—————————————————————―————————————。ob_iinplicit_flush($p)$p:0:关闭1:启动(每次输出后都自动刷新,而不再需要去调用f1ush())«obJist.handIers列出所有使用的输出句柄output_add_rewrite_varoutput_add_rewrite_var(zvarz,'va1ue');«»echo'<ahrephp">link</a>/;输出:Vahref="fi1e.php?var=value">1ink</a>ooutput_reset_rewrite_varsoutput_add_rewrite_varCvar',1value');<>echo'<ahref="file.php">link</a>';〃输出:<ahref="file.php?var=va1ue">1ink</a>gob_flush();◎ouIput_reset_rewrite_vars();echo'<ahref="file.php”>link</a>';//输出:<ahref="file.php">ink</a>伪静态。一方面:。必须要空间支持Rewrite以及对站点目录中有.hlaccess的文献解析,才有效.。如何让空间支持Rewrite和.htaccess的文献解析呢往下看第一步:要找到apache安装目录下的httpd.cof文献,在里面找到<Directory/>^OptionsFo11owSyniLinksaAHowOverridenone</Directory>。把none改aH,。第二步:找到以下内容:#LoadModulerewrite_modulemodu1es/mod_rewrile.so改为。LoadModu1erewrite_modulemodules/mod_rewrite.so第三步:保存重启apacheooko。另一方面是.htaccess的书写规则:YI(Modu1emod_rewrite.c>goRewriteEngincOnRewriteBase/甜打开允许符号链接。OptionsFollowSymLinksowRewriteRulesmarty/([0-9]+)/([0-9]+)smarty/index.php?id=$1&name=$2gV/IfModule>®.h(access加入以下内容oRcwritcEngincOneRewriteBase/aRcwriteRuleA(.*)Iist-id([0-9]+)\.html$$1/company/search.php?sectorid2=$2aRewriteRuleA(.*)cominfo-([a-z0-9]+)\.html$$1/member/index.php?uid=$2&type=cominfoRewriteRule八(,*)list-([0-9]+)-([0-9]+)\.html$$1/plus/list.php?typeid=$2&PageNo=$3RewriteCond%{HTTP_HOST}Afa-z0-9\-l+\.lujin\.com$»RcwriteCond%{HTTP_HOST)!A(www|bbs)\.lujin\.com$oRewriteRuleA/?$/%{HTTP_HOST)RewriteRule-/([a-z0-9\—]+)\.1ujin\.com/?$/member/index.php?uid=$1[L]对上面的一些解释oRewriteRu1eA(.*)1ist—id([0-9]+)\.html$$1/company/search,php?sectorid2=$2。这条是把公司库的分类进行伪静态解决原先假设访问地址为现在地址为。优点:1、伪静态解决加速搜索引擎收入。2、地址映射到根目录,增长权重,提高排名序列化0sleep()wakeup()»$a=array("l',=>"a";,2"=>"b";'3,,=>,,c',,H4,,=>"d");$b=serialize($a);/*序列化*/var_dump($b);f=unserialize($b);/*解析*/var_dump($f);classS,(«public$t=111;。publicfunctiont(){。echo'tfunctionz;}$s=newS;$t=seria1ize($s);»$e=unseria1ize($t);echo$e—>t();©echo$e—>t;。classS

。public$id;叩ublicSname;publicfunctionf()ocho'ffunction';function_s1eep()0{o»$this->id=uniqid();^returnarray('id','name1);ofunctionwakeup()°{g//$this->id=uniqid();°l)$s=newS();«$s->name='name';o$e=serialize($s);$t=unserialize($e);•echo$t->id.'_,\$t->name»echo$t—>f();c1assSpublic$tpublic$tpublic$t111;。叩public$t111;wcho'tfunction’;0)}a$s=newS;$t=serialize($s);o$cache_file=fopen('f:/1.txt'w+');fwrite($cache_fi1e»$t);/*«die;。$e=unseria1ize($t);◎echo$e->t();®ccho$c->t;*/Shandie=@fopen("f:/l.txt","r");sif($handle)°{owhi1e(!feof($handIe))($buffer=fgets($handle,4096);。break;°}afc1ose($handle);。$e=unserialize($buffer);«echo$e->t();echo$e->t;■——■■■■■■———————————————一一———————ThinkPHP2.0入口文献配置Mefine('STRIP_RUNTIME_SPACE,false);生成的~runtime.php文献是否去空白和注释oodefine(/NO_CACHE_RUNTIME',true);不生成核心缓存文献。查询0按照id排序显示前6条记录»o$Form®=M("Form");。。$list。=$Form—>order('iddesc7)->limit(6)->sclect();取得模板显示变量的值o$this->assign('tt'vvv

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论