PHP基础笔记十二

会话技术

cookie技术

cookie是由web服务器保存在用户浏览器上的小文本文件(http歇息的响应头设置),它可以包含有关用户的信息,无论合适用户何时连接到服务器,web站点都可以访问cookie信息,只能存简单数据,数值/字符串

原理

PHP通过setcookie()函数将数据通过http协议响应头传输给浏览器,浏览器再第一次响应的时候将cookie数据保存到浏览器,php执行的时候会自动检测是否存在cookie数据,如果存在则将请求头中的数据携带到服务器,并且自动保存到$_COOKIE中

能够实现跨脚本共享数据

session技术

session是将数据存储到服务端,无论合适用户访问服务器,web站点都可以访问session,以来与cookie技术

cookie技术的基本使用

setcookie(名字,值);    //值必须是简单类型中的整数或者字符串
$_COOKIE    //    获取cookie

cookie生命周期

cookie在浏览器的生存时间(浏览器在下次访问服务器时是否携带对应的cookie)

默认不设定(生命周期):默认关闭浏览器

同过setcookie的第三个参数来限定生命周期,使用时间戳来管理的

setcookie('a','1');            //普通cookie,关闭浏览器失效
setcookie('a','1',7*24*60*60);            //格林威治时间7天过期
setcookie('a','1',time() + 7*24*60*60);    //格林威治时间从现在开始7天后过期
setcookie('a','')        //清空cookie

设定“/”的含义:告知浏览器当前cookie的作用范围是网站根目录

setcookie(名字,值,生命周期,作用域范围);    //通常用“/”

session 技术

session基本使用

启用session,session_start();任何时候都需要开启session(脚本使用到$_SESSION就开启一次);

$_SESSION是通过session_start()函数的调用才会定义的,没有直接定义

设置session信息

如果相关存储数据到session中,那么只要不断给$_SESSION数组添加元素即可

读取session信息

$_SESSION是一个数组,按照数组的方式访问即可,开启后可以跨脚本使用

删除session

就是将session数据清理掉,让$_SESSION拿不到

unset($_SESSION [元素下标]),删除指定session数据;

删除全部session

就是将$_SESSION变成一个空数组        $_SESSION=array();  

GD图像处理

API:外部提供的应用接口;它已经准备号了一套处理某=某些功能的机制,用户只需要按照只指定的数据要求,抵用指定的函数或者方法就可以实现某个功能

GD的概念:图像处理扩展(外部提供的API),实现图像制作功能

GD的引入:GD库是外部提供的api,已经被继承到PHP扩展库中(不需要下载),但需要在配置文件中打开对应的扩展

更改以后要重启服务器

创建画布 

imageCreate(宽,高):创建一个空白画布(背景色是白色的)

imageCreateTrueColor():创建一个彩色画布(背景是黑色的,需要填充)

imageCreatefromJpeg(图片路径):打开一个jpeg的图片资源

imageCreatefromGif(图片路径):打开一个gif的图片资源(php无法实现动态)

imageCreatefromPng(图片路径):打开png格式图片资源

操作画布资源

所有的画布资源操作都需要指定画布,都是第一个参数

分配颜色:imageColorAllocate(画布资源,红,绿,蓝);更具rgb三色组给指定画布分配一组颜色,返回一个颜色句柄(一组整数),每一个色组都是从0-225,在真彩图片资源中,所有分配的颜色都不会自动给图片资源上色,使用来后续操作图片资源的时候,指定着色的

填充区域:imagefill(画布资源,起始x坐标,起始y坐标y坐标从上往下,颜色句柄);指定位置开始填充指定资源,从指定点开始自动匹配相邻点,如果颜色一致自动渲染,扩展至全图

画直线:imageline(图片资源,起始点x,起始点y,终点x,中点y,颜色);制作一条直线

画矩形:imagerectangle(图片资源,起始位置,终止位置);制作一个矩形

画圆弧 :imagearc(图像资源,起点x,起点y,轴宽,轴高,弧度起点,弧度中点,颜色);

在画布上写字:imagestring(),imagettftext();

imagestring(图片资源,文字大小,起始x,起始y,内容,颜色):用来书写英文

imagettfttext(图片资源,文字大小,旋转角度,起始x,起始y,颜色,字体,内容):书写任意内容

字体需要指定字体的路径

参考手册

输出画布资源

输出图片文件:以图片文件形式保存到本地文件夹

输出为网页文件:将图片展示给html(给用户)

image+图片格式        imagejpeg()imagepng()/imagegif()

如果图片只是提供图资源,没有指定保存位置,那么系统认为是输出给浏览器(记得设置响应头

  header('Content-type:image/png');)

如果指定了位置,那么系统认为是保存到本地

图片输出之前不能输出其他内容

销毁画布

从内存中将画布资源清理掉

imagedestory();

案例

<?php

    //设置响应头
    header('Content-type:image/png'); 


    //创建一个真彩图片
    // $img = imagecreatetruecolor(100,100);
    // var_dump($img);

    //创建画布
    $img = imagecreatetruecolor(100,100);       //在计算机里,黑色为无色
    //分配颜色
    $color = imagecolorallocate($img,210,4,42);
    
    //填充背景色
    imagefill($img,0,0,$color);
    //制作直线
    $line_color = imagecolorallocate($img,01,3,4);
    imageline($img,10,10,90,90,$line_color);

    //制作矩形
    $rec_color = imagecolorallocate($img,0,130,125);
    imagerectangle($img,10,10,90,90,$rec_color);

    //制作圆弧(圆)
    $arc_color = imagecolorallocate($img,0,0,0);
    imagearc($img,50,50,80,80,180,360,$arc_color);

    //写入英文字符串
    $str_color = imagecolorallocate($img,100,50,100);
    imagestring($img,5,20,20,'abcd',$trc_color);

    //写入中文汉字
    // imagettftext($img,30,45,50,50,$sctr_color,'字体文件','你好,世界')  

    //保存输出
    imagepng($img,'my.png');        //保存文件资源
    imagepng($img);     //输出文件资源

    //销毁画布
    imagedestroy($img);

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值