0

0

PHP预定义变量(二)_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:15:18

|

1222人浏览过

|

来源于php中文网

原创

SlidesAI
SlidesAI

使用SlidesAI的AI在几秒钟内创建演示文稿幻灯片

下载

PHP预定义变量(二)

四、Session变量($_SESSION):由PHP的SESSION函数产生的数据,都以超全局变量的方式,存放在$_SESSION变量中。
1、Session简介
SESSION也称为会话期,其是存储在服务器上的一小段文件,用于存储用户的相关信息。SESSION之间使用会话标识来区别,每一个SESSION都有唯一的一个标识。使用SESSION也可以完成类似于COOKIE一样的工作。session会自动的对要设置的值进行encode与decode,因此session可以支持存储任意数据类型,包括数组与对象等。
2、使用session_save_path()函数,设置session文件的保存目录,如:
session_save_path("D:/phpnow/Apache2/temp");
//使用session_save_path()函数取得当前session保存的目录
echo session_save_path()."
";
注:PHP安装完成后,由于SESSION的保存路径没有设置,如果直接在脚本中使用SESSION,会出现因为路径不存在而产生的错误。使用session_save_path()函数,可以修改SESSION文件的保存路径,但是仅限于当前脚本。如果在PHP配置文件中,已经设置了有效的SESSION文件保存目录,那么在脚本中可以不使用此函数,此时所有的PHP程序都共用一个目录存储SESSION文件。
3、注册SESSION变量

由于$_session是一个数组,可以使用数组添加单元的方式,来为session增加新变量。如:

session_start();//开启SESSION,使用前,必须要先开启

//使用数组添加单元的方法,增加SESSION变量

$_SESSION["username"] = "phpstuer";//存储字符串

$sessionArr = array("1","2","3");
$_SESSION["arr"] = $sessionArr; //存储数组

NOTE:使用session_register函数也可以,注册SESSION变量,但此函数从PHP5.3后就已弃用,所以这里不再举例。

4、访问SESSION变量
由于SESSION变量,都是以单元的形式,存储在$_SESSION全局变量中,所以使用访问数组的方法,就可以访问SESSION变量。SESSION变量注册后,需要经过初始化后才能使用,这一点与COOKIE是不同的。初始化SESSION的函数是session_start()。如:
//使用session_start()函数开启SESSION
session_start();
//遍历$_SESSION数组
foreach($_SESSION as $key=>$value){
echo "$key=>$value
";
}
echo "单独访问SESSION变量:";
echo $_SESSION["username"]."
";
echo "单独访问SESSION变量 :";
echo $_SESSION["arr"][2];

注意:使用session_start()函数时,为防止出现错误提示信息,在页面最上面添加代码

立即学习PHP免费学习笔记(深入)”;

5、删除SESSION变量
在使用完SESSION变量后,需要对已经注册的SESSION进行删除,以减少对服务器的资源使用。
session_start();
//删除前:
echo "

";
print_r($_SESSION);
echo "
";
//使用unset()函数删除一个$_SESSION变量
unset($_SESSION["username"]);
//使用session_unset()函数,删除当前页面的$_SESSION变量
//session_unset();
//使用session_destroy()函数,删除当前页面的$_SESSION变量并删除SESSION文件
//session_destroy();

//删除后:
echo "

";
print_r($_SESSION);
echo "
";

五、Request变量($_REQUEST)作为超全局变量,$_REQUEST存储了包括$_POST、$_GET、$_COOKIE变量在内的数据。通过访问$_REQUEST,也可以实现$_POST、$_GET、$_COOKIE变量的功能。
虽然$_REQUEST在使用时比较方便,但是其提供的数据存在一定的危险性。比如一段程序使用$_REQUEST读取$_COOKIE值时,那有心的访客可以通过提供一个$_GET变量来模拟$_COOKIE值,从而取得一定的访问权限。
使用实例:略。

立即学习PHP免费学习笔记(深入)”;

六、服务器变量($_SERVER)是由网络服务器创建的数组,其内容包括头信息、路径、脚本位置等。不同的网络服务器提供的信息有所出入,下面实例是以Apache服务器提供的作为标准。
echo "

";
print_r($_SERVER);
echo "
";
//解释如下:
echo "显示脚本文件的相对路径和文件名:\"".$_SERVER["PHP_SELF"]."\"
";
echo "显示服务器使用的CGI脚本规范:\"".$_SERVER["GATEWAY_INTERFACE"]."\"
";
echo "显示当前运行脚本所在服务器的IP地址:\"".$_SERVER["SERVER_ADDR"]."\"
";
echo "显示当前运行脚本服务器名称:\"".$_SERVER["SERVER_NAME"]."\"
";
echo "显示当前运行脚本服务器标识:\"".$_SERVER["SERVER_SOFTWARE"]."\"
";
echo "显示请求页面的通信协议的名称和版本:\"".$_SERVER["SERVER_PROTOCOL"]."\"
";
echo "显示访问页面的请求方法:\"".$_SERVER["REQUEST_METHOD"]."\"
";
echo "显示脚本开始运行时间:\"".$_SERVER["REQUEST_TIME"]."\"
";
echo "显示URL问号后的字符串:\"".$_SERVER["QUERY_STRING"]."\"
";
echo "显示当前运行脚本的文档根目录:\"".$_SERVER["DOCUMENT_ROOT"]."
";
echo "显示当前Accept请求的头信息:\"".$_SERVER["HTTP_ACCEPT"]."\"
";
echo "显示当前请求的字符信息:\"".$_SERVER["HTTP_ACCEPT_CHARSET"]."\"
";
echo "显示当前当前请求的Accept-Encoding头信息:\"".$_SERVER["HTTP_ACCEPT_ENCODING"]."\"
";
echo "显示当前请求的Accept-Language头信息:\"".$_SERVER["HTTP_ACCEPT_LANGUAGE"]."\"
";
echo "显示当前请求的Connection头信息:\"".$_SERVER["HTTP_CONNECTION"]."\"
";
echo "显示当前请求的Host头信息:\"".$_SERVER["HTTP_HOST"]."\"
";
echo "显示当前页面的前一个页面的URL地址:\"".$_SERVER["HTTP_REFERER"]."\"
";
echo "显示当前请求的User-Agent的头信息:\"".$_SERVER["HTTP_USER_AGENT"]."\"
";
echo "显示脚本是否可以通过HTTPS协议进行访问:\"".$_SERVER["HTTPS"]."\"
";
echo "显示浏览当前页面用户的IP地址:\"".$_SERVER["REMOTE_ADDR"]."\"
";
echo "显示浏览当前页面用户的主机名:\"".$_SERVER["REMOTE_HOST"]."\"
";
echo "显示用户连接到服务器时所使用的端口:\"".$_SERVER["REMOTE_PORT"]."\"
";
echo "显示当前执行脚本的绝对路径名:\"".$_SERVER["SCRIPT_FILENAME"]."\"
";
echo "显示Apache配置文件中的SERVER_ADMIN参数设置情况:\"".$_SERVER["SERVER_ADMIN"]."\"
";
echo "显示网络服务器使用的端口,默认为\"80\":\"".$_SERVER["SERVER_PORT"]."\"
";
echo "显示服务器版本和虚拟主机名的字符串:\"".$_SERVER["SERVER_SIGNATURE"]."\"
";
echo "显示脚本在文件系统中的基本路径:\"".$_SERVER["PATH_TRANSLATED"]."\"
";
echo "显示当前脚本的路径:\"".$_SERVER["SCRIPT_NAME"]."\"
";
echo "显示访问当前页面的URI:\"".$_SERVER["REQUEST_URI"]."\"
";
七、环境变量($_ENV)是预定义的一个数组,记录着系统路径等信息。
echo "
";
print_r($_SERVER);
echo "
";
//单独访问环境变量的数组成员,可以通过“$_ENV[‘成员变量名’]”的方式实现,如:
echo "服务器操作系统为:".$_ENV["OS"]."
";
八、 HTTP文件上传变量($_FILES):由HTML表单生成的文件上传变量,以数组的形式记录了上传文件的详细信息,其数组成员包括上传的文件名:name;文件类型:type;临时文件名:tmp_name;错误信息代码 :error;文件大小:size。下面介绍使用HTML表单,生成文件上传变量的方法,
要使表单产生文件变量,要满足三个条件:
1、HTML表单要使用POST方式传递数据。
2、表单的“enctype”参数要设置为“multipart/form-data” 。
3、表单中包含一个文件选择框。
通过$_FILES变量获取上传文件相关信息后,就可以配合其他文件函数实现文件的上传。
上传文件及$_FILES的用法实例:待整理
九、$GLOBALS变量以数组的形式,记录了所有已经定义的全局变量,而变量名就是这个数组的索引。即然$GLOBALS记录着所有的全局变量,那么理所当然的也可以访问全局变量里的信息。下面介绍使用$GLOBALS访问其他预定义变量的方法,如:
session_start();
$_SESSION["school"] = "大学";
echo $_SESSION["school"]."
"; //输出 大学
//使用$GLOBALS显示当前操作系统版本
echo $GLOBALS["_ENV"]["OS"]."
";
//使用$GLOBALS访问SESSION值
echo $GLOBALS["_SESSION"]["school"]."
"; //输出大学

echo "

";
print_r($GLOBALS);
echo "
";



www.bkjia.comtruehttp://www.bkjia.com/PHPjc/905598.htmlTechArticlePHP预定义变量(二) 四、Session变量($_SESSION):由PHP的SESSION函数产生的数据,都以超全局变量的方式,存放在$_SESSION变量中。 1、Session简介...

相关专题

更多
excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

20

2025.12.29

freeok看剧入口合集
freeok看剧入口合集

本专题整合了freeok看剧入口网址,阅读下面的文章了解更多网址。

65

2025.12.29

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2025.12.29

python中def的用法大全
python中def的用法大全

def关键字用于在Python中定义函数。其基本语法包括函数名、参数列表、文档字符串和返回值。使用def可以定义无参数、单参数、多参数、默认参数和可变参数的函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

python改成中文版教程大全
python改成中文版教程大全

Python界面可通过以下方法改为中文版:修改系统语言环境:更改系统语言为“中文(简体)”。使用 IDE 修改:在 PyCharm 等 IDE 中更改语言设置为“中文”。使用 IDLE 修改:在 IDLE 中修改语言为“Chinese”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

C++的Top K问题怎么解决
C++的Top K问题怎么解决

TopK问题可通过优先队列、partial_sort和nth_element解决:优先队列维护大小为K的堆,适合流式数据;partial_sort对前K个元素排序,适用于需有序结果且K较小的场景;nth_element基于快速选择,平均时间复杂度O(n),效率最高但不保证前K内部有序。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

12

2025.12.29

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

134

2025.12.29

抖音网页版入口在哪(最新版)
抖音网页版入口在哪(最新版)

抖音网页版可通过官网https://www.douyin.com进入,打开浏览器输入网址后,可选择扫码或账号登录,登录后同步移动端数据,未登录仅可浏览部分推荐内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

63

2025.12.29

快手直播回放在哪看教程
快手直播回放在哪看教程

快手直播回放需主播开启功能才可观看,主要通过三种路径查看:一是从“我”主页进入“关注”标签再进主播主页的“直播”分类;二是通过“历史记录”中的“直播”标签页找回;三是进入“个人信息查阅与下载”里的“直播回放”选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

18

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 10.1万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.1万人学习

NumPy 教程
NumPy 教程

共44课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号