第一部分:留言板
(1) 利用cookie实现留言板的登陆功能重要知识点总结
1. setcookie(“起的名字”,”保存的值”)
2. header(“Refresh: 0; url”) 0秒后刷新到指定页面
3. $_COOKIE[“起的名字”]; 使用cookie传过来的值
4. 为达到用户界面的友好复习时用了strtolower(),trim()函数
5. mysql_connect(),mysql_select_db(),mysql_query()函数实现mysql和php的链接以及通过php对数据库中的数据进行操作。
(2) 利用session实现留言板的登录模块
1. 在使用session之前用session_start()函数打开session设置,session_start()之前不能有任何代码
2. 用$_SESSION[“起的名字”]=传递的值
3. include() 可以在任何位置读取;requile() 在程序执行前读取文件
第二部分:文件的读取和上传
(1) 文件的读取
1. fopen(“路径和名字”,”文件模式”) 文件的打开,返回类型为资源类型resourse
2. feof() 函数的返回值为bool值,到达文件结尾返回true值
3. fgets(存储数据的变量名) 读取文件的一行,返回字符串类型;fgetc()只返回文件中的字符返回类型为char类型 *利用fopen(),feof(),fgets()和while循环可以实现文件的读取
4. file exists(文件名) 检查文件目录是否存在;fread() 读取打开文件
5. file("文件名") 利用file函数将文件的内容以数组的形式返回;readfile("文件名"将文件的内容直接读取并输出到浏览器 *(参数的形式)
6. fseek(存储文件的变量名,0)对文件指针进行归零
7. 读取远程文件的简单代码
$file=fopen("http://www.baidu.com/",'r');
while(!feof($file))
{
$row=fgets($file,1024);//将远程文件中的每一行写到$row中
if(preg_match("/<title>(.*)<\/title>/",$row,$result))
{
$title=$result[1];
break;
}
}
fclose($file);
echo $title;
8. fclose(存储文件的变量名) 文件的关闭
(2) 图片的上传
1.通过全局数组$_FILES访问上传文件的信息
define("MAX_SIZE",2000000); 定义一个常量设定最大size
$file_logo=$_FILES["file"]; 把固定的file数组存储$file_logo
if($file_logo["error"]==0) $file_logo["error"]是file数组的元素
{
$file_type=array("image/jpeg","image/pjpeg","image/gif","image/png","image/x-png"); 定义一个数组存储图片的格式
if(in_array($file_logo["type"],$file_type))
in_array()函数判断$file_logo["type"]提取到的格式是否在定义的数组中
{
if($file_logo["size"]<=MAX_SIZE)
提取上传图片的大小并判断
{
move_uploaded_file($_FILES["file"]["tmp_name"],"d:/lamp/tmp/".date("d_m_y",time()).$_FILES["file"]["name"]);把上传的图片保存在指定位置指定名称
echo"您上传成功";
}
else{echo "文件太大";}
}
else{echo "文件格式不正确";};
}
4. datetime:
int time()返回当前日期的时间戳返回整型数据
getdate(time())获取一个时间戳的具体日期和时间,返回一个关联数组
microtime() 返回一个时间戳的微秒数
checkdate() 检验时间格式是否正确
第三部分:php图像的处理
(1) 绘制图像
1. imagecreatetruecolor(宽,高) 创建绘图区imagecreat()函数也可绘制;imagecolorallocate(画布的变量名,110,160,255)调制蓝色
2. imagefill(画布,横坐标,纵坐标,调制的颜色)给一个封闭空间填充颜色
3. imagesetpixel(画布,横坐标,纵坐标,调制的颜色)画点
imageline(画布,横坐标,纵坐标,横坐标,纵坐标,调制的颜色) 画线
imagerectangle(画布,横坐标,纵坐标,横坐标,纵坐标,调制的颜色) 画矩形
imageellipse(画布,横坐标,纵坐标,横坐标,纵坐标,调制的颜色) 画圆
imagefilledellipse(画布,横坐标,纵坐标,横坐标,纵坐标,调制的颜色) 画填充圆
4.imagefilledrectangle($im,50,25,100,40,$red) 给矩形填充颜色
imagepolygon(画布, 坐标集数组,,字号,颜色);
imagefilledpolygon(画布,坐标集数组,字号,颜色) 给多边形填充颜色
5.//在图像中添加文本
imagestring(画布,内置字体,横坐标,纵坐标,”文本”,颜色);
imagestringup(画布,内置字体,横坐标,纵坐标,”文本”,颜色) 垂直放置
imagechar画布,字体,横坐标,纵坐标,”文本”,颜色);
$text=iconv("GB2312","UTF_8","你好") iconv(输入字符编码,输出字符编码,字符串)
$font=""可以是字体但当前文件中必须有这个字体,或地址
imagettftext(画布,角度,角度, 横坐标,纵坐标,颜色,字体,文本);
6.header("Content-Type:image/jpeg") 声明网页的输出形式
imagejpeg(画布名) 输出图像
imagedestroy(画布名) 销毁图像释放内存
7.实现验证码的案例可以定义一个类
<script language="javascript"type="text/javascript">
function refreshcode(obj,url)
{
obj.src=url+"?nowtime="+Math.random(); 使用url刷新页面生成不同的验证码
}
</script>
<img src="y_z_m.php" alt=""style="cursor:pointer; float:right;"onclick="refreshcode(this,this.src);"/> 生成验证码
9. php操作excel报表时通过发送头信息完成的
header("Content-Type:application/vnd.ms-excel")
header告知我们;文件名,并要求下载包
header("Content-Disposition:attachment; filename=test.xls")
$arr_row=mysql_num_rows(数据集) 获得行数
$arr_col=mysql_num_fields(数据集) 获得列数
mysql_fetch_array(数据集)) 把数据集写到数组中
"\n" 下一个列 "\t"换行
(2) 异常处理
1.try
{
正常的程序1
包含throw语句 (throw进行异常的抛出)
正常的程序2
}catch(Exception $e){}
用catch接收抛出的异常
第四部分:php操作XML文件
(1) XMLExtensible Markup language 可扩展标记语言(标签语言)
1. 传输数据,保存数据不是显示数据
2. *闭合标签,区分大小写,正确嵌套,必须有根元素,属性用双引号,实体引用
3. DOM实例化一个对象实例化对象,参数是1,版本号(xml的版本号),2,编码)$doc=new DOMDocument('1.0','utf-8');
4. $doc->load($xml_file) 使用对象的load()方法
5. 通过DOMDocument操作树状图,通过getElementsByTagName()返回的仍然是一个对象,DOMNodeList是一个集合类型的对象
6. item(0) 通过item方法可以获得指定的节点,参数是元素的下标
7. $books->length 返回book元素类型及个数
8. 通过nodeValue属性获得title文本节点的值
9. createElement("节点名","数据") 创建节点
10. appendChild(创建的节点名) 添加节点
11. removeChild(创建的节点名) 删除节点
12. save("xml文件名")) 保存文件
(2) 通过SimpleXML
1. 以string的方法加载xml(直接给出利用fopen,fread进行文件的读取)
2. 通过节点进行访问

被折叠的 条评论
为什么被折叠?



