二:
1:include和require
1.1:require会产生致命的错误,停止脚本的运行;而include只是警告,仍然会继续运行;
1.2:<?php include 'header.php' ?>
2:读取文件;
"; }; fclose($file);?>
3:文件上传
3.1:对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。
3.2:file_exists()判断文件是否存在,前提是upload这个地址必须存在。move_uploaded_file()移动文件;
文件上传
fileUp.php
0){echo "Return Code:".$_FILES['file']['error'].""; } else{ echo "Upload:".$_FILES['file']['name'].""; echo "type:".$_FILES['file']['type'].""; echo "size:".($_FILES['file']['size']/1024)."KB"; echo "Temp file:".$_FILES['file']['tmp_name'].""; if(file_exists("upload/".$_FILES['file']['name'])){ echo $_FILES['file']['name']." already exists."; }else{ move_uploaded_file( $_FILES['file']['tmp_name'],"upload/".$_FILES['file']['name'] ); echo "stored in:"."upload/".$_FILES['file']['name'] ; } }}else{ echo "Invalid file"; }?>
输出:
4:cookie
4.1:<?php setcookie('name','yuyu',time()+3600) ?>设定变量name的值为yuyu,1个小时后过期;必须在html的最上面;
4.2:if(isset($_COOKIE['name'])){ echo $_COOKIE['name']};isset判断是否存在name;
4.3:setcookie('name',time()-3600);取消cookie
5:session
5.1:<?php session_start();$_SESSION['name']='yuyu2'; ?>为用户分配一个UID;
5.2:unset($_SESSION['name']);
5.3:session_destroy();
6:php错误处理
6.1:基本错误处理(die()):if(!file_exists('sss.txt')){
die("no this file!");}else{$file=fopen("sss.txt","r");};如果没有sss.txt这个文件,则会报错;6.2:创建自定义错误处理器:function customError($errno,$errstr){echo '<b>Error:</b>['.$errno.'] '.$errstr; }set_error_handler('customError');echo($no);当发生错误时,调用customError函数,输出$errno,$errstr,注意:die(),set_error_handler之后后面的代码将无法执行;
6.3:自己促发错误,if(!$no){
trigger_error("这个变量不存在!"); }6.4:写入error_log.........
三:数据库
1: 数据库数据类型
1.1:整形:int(size),smallint(size),tinyint(size),mediumint(size),bigint(size);
1.2:浮动型:decimal(size,d),float(size,d),double(size,d);
1.3:varchar(size),char(size);
1.4:日期型:date(yyyy-mm-dd);datetime(yyyy-mm-dd hh:mm:ss);timestamp(yyyymmddhhmmss);time(hh:mm:ss);
2:SQL 语句对大小写不敏感。INSERT INTO 与 insert into 相同。
3:
"; }//跟新,删除 mysql_query("update persons set age='100' where name='yuyu'"); mysql_query("delete from persons where name='yuyu'"); //关闭数据库 mysql_close($con);?>
四:XML(这货是做甚的?)
1:XML解析器的作用是读取,跟新,处理xml;
you yuyu about something are you all right?you2 yuyu about something are you all right?
2:xml解析器有三种,基于树的解析器(xml DOM),基于事件的解析器(Expat),simple xml;
2.1:Expat
";break; case 'TO' :echo "to:";break; case 'FROM' :echo "from:";break; case 'HEADING':echo "heading:";break; case 'BODY': echo "message:"; } } function stop($parser,$name){echo ""; } function char($parser,$data){echo $data;}//添加 xml_set_element_handler() 函数来定义,当解析器遇到开始和结束标签时执行哪个函数 xml_set_element_handler($parser,'start','stop');//添加 xml_set_character_data_handler() 函数来定义,当解析器遇到字符数据时执行哪个函数 xml_set_character_data_handler($parser,'char');//打开xml文件,xml_parse() 函数来解析文件 "xml.xml" $fp=fopen('xml.xml','r'); while($data=fread($fp,4096)){ xml_parse($parser,$data,feof($fp)) or die(sprintf("XML error:%s at line %d",xml_error_string(xml_get_error_code($parser)),xml_get_current_line_number($parser))); }//调用 xml_parser_free() 函数来释放分配给 xml_parser_create() 函数的内存 xml_parser_free($parser);?>
2.2:xml dom
load('xml.xml');//saveXML() 函数把内部 XML 文档放入一个字符串,这样我们就可以输出它,直接全部输出每个节点的值。 print $xmlDoc->saveXML(); print ""; //foreach对每个节点分别输出,每个节点会多出一个空白标签 $x=$xmlDoc->documentElement; foreach($x->childNodes AS $iterm){ print $iterm->nodeName.":".$iterm->nodeValue.""; }?>
2.3:simple xml简化版解析器,可以处理一般的xml,如需更复杂的则需要Expat,xml dom解析器
getName().""; foreach($xml->children() as $child){ echo $child->getName().":".$child.""; }?>
五:ajax
1:AJAX 是 Asynchronous JavaScript And XML 的首字母缩写;
2:
六:通过echo,var_dump,print_r等将变量输出来调试PHP