• 上传文件及$_FILES的用法实例


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

    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(2881064151); //删除后:
    echo " ";
    print_r($_SESSION);
    echo "";
    五、Request变量($_REQUEST)作为超全局变量,$_REQUEST存储了包括$_POST、$_GET、$_COOKIE变量在内的数据。通过访问$_REQUEST,也可以实现$_POST、$_GET、$_COOKIE变量的功能。
    虽然$_REQUEST在使用时比较方便,但是其提供的数据存在一定的危险性。比如一段程序使用$_REQUEST读取$_COOKIE值时,那有心的访客可以通过提供一个$_GET变量来模拟$_COOKIE值,从而取得一定的访问权限。
    使用实例:略。
    六、服务器变量($_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 ""; 

  • 相关阅读:
    dremio docker 镜像版本
    jdk 11 更新内容
    自定义 maven 插件
    PC端响应式设置
    windows服务器事件查看器 日志查看
    我的小程序之旅六:微信公众号授权登录(适用于H5小程序)
    我的小程序之旅二:如何创建一个微信小程序
    我的小程序之旅九:微信开放平台unionId机制介绍
    我的小程序之旅五:微信公众号扫码登录PC端网页
    我的小程序之旅七:微信公众号设置IP白名单
  • 原文地址:https://www.cnblogs.com/cbryge/p/6093608.html
Copyright © 2020-2023  润新知