• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP预定义变量(二)_php

php 搞代码 3年前 (2018-06-21) 114次浏览 已收录 0个评论

四、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保存的目录

http://www.gaodaima.com/51427.htmlPHP预定义变量(二)_php

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()函数时,为防止出现错误提示信息,在页面最上面添加代码

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

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

//删除后:
echo “

”;

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

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

”;
//单独访问环境变量的数组成员,可以通过“$_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 “

”;

欢迎大家阅读《PHP预定义变量(二)_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址