演示"/>
预定义超全局变量练习演示
预定义超全局变量
$_GET
- $_GET 是一个预定义数组。
- 作用域是超全局,脚本的任何地方都可以使用。
- 接收从浏览器客户端用户GET 方式传递到服务器的参数。
- GET 传参的参数名做$_GET 数组的key,参数值作为数组的value。
- GET 传参时,直接将参数拼接到URL 中即可。
<?phpvar_dump($_GET);
?>
访问该页面
随后更改url,在url后加上?username=order&password=123456
访问结果如图
传参成功
$_POST
- $_POST 用于接收浏览器客户端用户以POST 方式传递过来的参数。
- POST 传参,参数在请求正文中
先写一个post传参用的表单,方法设置post,并且设置目的文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>posthtml</title>
</head>
<body><form method="post" action="post.php">username:<input type="text" name="username">password:<input type="password" name="password"><input type="submit" name="submit"></form>
</body>
</html>
随后写一个接收post参数的php
<meta charset="UTF-8">
<?phpecho "<pre>";var_dump($_POST);
?>
在该页面输入内容
order:123456
随后观察能否传参
提交过后发现传参成功,并且url变为接受参数的php文件位置
$_COOKIE
COOKIE 技术
为了弥补HTTP 协议的无状态性,保持用户的会话状态,需要使用Cookie 技术。
Cookie 过程:
- 用户提交账密
- 服务器进行身份认证
- 下发身份证,下发Cookie。
- 浏览器客户端用户所有的请求都会携带身份信息,携带Cookie 信息。
- 整体流程体现为,保持了HTTP 会话的状态性。
先写一个测试用的cookie.php
<meta charset="UTF-8">
<?phpecho "<pre>";var_dump($_COOKIE);
?>
访问时没有参数
控制台写入两条cookie
写入后刷新页面即可看到传递的参数
$_REQUEST
$_REQUEST
,默认包含了$_GET
,$_POST
,$_COOKIE
数组中的所有变量。以上提到的三个数组,包含了浏览器客户端的三大传参方式,也称GPC。
但是$_REQUEST 数组在接收参数的时候,会受到一个PHP 选项的控制。
首先需要编辑此处配置文件
/php/php-5.4.45/php.ini
request_order = "GP"
变为
request_order = "GPC"
重启phpstudy
写一个request的php
<meta charset="UTF-8">
<?phpecho "<pre>";var_dump($_REQUEST);
?>
本来无参数,并且刚刚开启了接受cookie传参
使用cookie的传参方式看看能不能接到
刷新页面后成功接收到参数
$GLOBALS
<meta charset="UTF-8">
<?phpecho "<pre>";var_dump($GLOBALS);
?>
$_ENV
<meta charset="UTF-8">
<?phpecho "<pre>";var_dump($_ENV);
?>
更换php版本
$_FILE
先写一份上传文件用的表单
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><form action="file.php" method="post" enctype="multipart/form-data"><input type="file" name="file"><input type="submit" name="submit"></form>
</body>
</html>
然后写一份文件上传的php
<meta charset="UTF-8">
<?phpecho "<pre>";var_dump($_FILES);
?>
访问页面
选择图片上传后
但是此处它传到临时文件了,并且很快自动删除,相当于最后服务器仍然没有该文件
需要修改一下,让它能保存到
修改php文件
<meta charset="UTF-8">
<?phpecho "<pre>";$tmp_path=$_FILES['file']['tmp_name'];$target_path="./png/".$_FILES['file']['name'];// echo $target_path;// echo $tmp_path;$flag=move_uploaded_file($tmp_path,$target_path);if($flag){echo "upload to {$target_path} successfully<br>";}else{echo "failed<br>";}
?>
随后上传图片
成功显示加入的显示信息以及成功上传图片到指定位置
可以正常打开
更多推荐
预定义超全局变量练习演示
发布评论