Php复习(3)

来源:互联网 发布:淘宝陶瓷店知乎 编辑:程序博客网 时间:2022/08/16 18:51

PHP自定义函数(10-11)
可重复执行的代码段。
语法格式:
function fun_name(str1,str2….){
fun_body;//函数体
return 返回值;
}
function:声明自定义函数时必须使用的关键字
fun_name:自定义函数的名称。
str1..str2..:函数的可选参数。可以带有0个或者多个参数,参数之间用逗号分隔
参数的数据类型可以是任意的。一般情况下,必须参数在前面,可选参数(有默认值的参数)在后面
fun_body:函数的主体部分,逻辑部分。
返回值:函数可以存在返回值,默认返回值是NULL
函数的返回值可以为任意类型
返回值和参数之间,无论是在数量、数据类型上没有任何联系
return关键字将终止函数的执行
函数间的参数传递:
实参和形参:形参是在定义函数的时候定义的。实参是在调用函数的时候传递的。
按值传递:将实参的值赋值给形参,在函数内部的操作是对形参进行的。操作完后,不会影响到实参
引用传递:将实参的内存地址传递给形参,在函数内部的操作会影响到实参的值。
传值时在原基础上加&即可
默认值传递:

变量函数
函数的调用时通过变量的值来实现的,通过在变量后面加上一对小括号,
php就会自动搜索与变量名相同的函数,并且执行。
function fun1(){
return ‘fun1’;
}
string=fun1;string();

函数的引用
对函数的引用,就是对函数返回结果的引用。
取消引用
unset()

递归函数
函数调用自身。
function fun1(){
fun1();
}

自定义函数的函数库
func_get_args():返回函数的参数所组成的数组
func_num_args():返回函数的参数的数量
func_get_arg():返回函数的某一个参数的值
function_exists($fun_name):返回函数是否存在,布尔类型
call_user_func()

(10-12)
PHP高级函数库
1.会话变量(会话控制)
COOKIE,SEESION
COOKIE:是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。
作用:记录用户访客的某些信息;在页面之间传递变量(数据);可以提高以后的浏览的速度(执行效率)
特点:在服务器端创建;在浏览器端保存;跨页面访问;不安全
创建:setcookie(name,value,expire,path,domain,safe)
name:变量名
value:变量的值
expire:过期时间,单位是秒,是标准的UNIX时间标记;time()+3600;
如果没有指定过期时间,当浏览器关闭时,自动过期(失效)
path:服务器上能够接收会话变量的目录;用根路径(/),默认是当前目录
domain:有效的域名(如果cookie在xxx.com域名下的所有子域名都有效,则设置域名为xxx.com)
safe:是否通过安全链接;0普通链接(HTTP),1安全链接(HTTPS)
读取(访问):COOKIE[]unset(_COOKIE[‘变量名’])不能用;
把过期时间设置成失效
setcookie(name,′′,time()3600,path,domain,safe)
注意:浏览器最多允许存储300个cookie文件,每个文件都有大小限制,每个域名下的cookie个数也有限制(20个)
达到限制时,浏览器会自动随机删除

SESSION:    把数据存放到session文件中,保存在服务器端,文件的名称保存在cookie中    php.ini中相应的配置:    session.save_path = "d:/wamp/tmp";指定文件的存储目录    session.cookie_lifetime = 0;关闭浏览器时,cookie失效    session.gc_maxlifetime = 1440;最大有效期创建: session_start();//开启session $_SESSION['变量名'] = $value; session_id();获取session的id值 session_id($value);设置值访问: session_start(); $_SESSION['变量名'];删除(销毁):session_start();unset($_SESSION['变量名']);session_destroy();2.GD库函数(处理图片)    必须修改php.ini中的配置项:    extension=php_gd2.dll创建画布(空白图片):imagecreate($width,$height);//返回值是一个resourceimagecreatetruecolor($width,$height)imagecolorallocate($image, $red, $green, $blue);//产生颜色    red,green,blue 0-255imagefill($image, $x, $y, $color);//图片颜色填充生成图片:imagepng($image,$filename);imagegif();imagejpeg();

注意:
在处理图片的php文件中,顶部加入
header(‘content-type:image/png’);

array getimagesize($filename);获取图片的基本信息(类型。宽。高)    array['mime'] //type类型    array[0]//宽    array[1]//高从已存在的图片创建一个画布:imagecreatefromgif($filename);imagecreatefromjpeg($filename);imagecreatefrompng($filename);imagechar($image, $font, $x, $y, $c, $color);//写英文(单个字符,横着书写                                        图片资源,   大小,         imagecharup($image, $font, $x, $y, $c, $color);//竖着书写,单个字符imagestring($image, $font, $x, $y, $string, $color);//多个字符,横着书写imagestringup($image, $font, $x, $y, $string, $color);//多个字符,竖着书写imagefttext($image, $size, $angle, $x, $y, $color, $fontfile, $text);//写中文                                                                                        倾斜角度                                                        字体文件的路径imagesetpixel($image, $x, $y, $color);//画点imageline($image, $x1, $y1, $x2, $y2, $color);//划线imagerectangle($image, $x1, $y1, $x2, $y2, $color);//画矩形,不填充imagefilledrectangle($image, $x1, $y1, $x2, $y2, $color);//画矩形,带填充imageellipse($image, $cx, $cy, $width, $height, $color);//画圆,不填充                                                                            圆心坐标,       水平直径,垂直直径imagefilledellipse($image, $cx, $cy, $width, $height, $color);//画圆,填充imagearc($image, $cx, $cy, $width, $height, $start, $end, $color);//画圆弧(扇形)                                                                                                                                                起始弧度,结束弧度               imagefilledarc($image, $cx, $cy, $width, $height, $start, $end, $color, $style);    $style:填充类型        0:填充为扇形,1:填充为三角,2值显示两点间的圆弧,3只显示两点间的斜线imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);//拷贝                                        目标图片,   被拷贝图片,  放到目标图片的起始位置的坐标,从被拷贝图片的什么位置开始考,拷贝的宽高imagecopyresized($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);//缩略
0 0