avatar

Catalog
PHP

PHP

变量的定义

在php中定义变量是以$开头, 不能以其他的字符开头。

输出

输出字符串可以用echo,其余的可以用print_r或者var_dump(可以输入其他)

数组

  • 普通数组的定义方式
php
$ array = array("zs","1","2");
var_dump(array);
  • 键值对的数组方式
php
$ array = array("username" => "zs", "age" => 17);
var_dump(array);
  • 常用方法
    • count(数组名) 统计出数组的长度
    • in_array(“某元素”,数组名)判断该数组是否包含某元素
    • strstr(“字符串”,字符串的某一部分)查看字符串某一部份是否为字符串的一部分。

字符串

字符串链接用点进行连接。

a链接的GET请求(只有)

html
<a href="02a标签发送get请求.php?username=zs&age=19">发送给自己的服务器</a>
php
<?php
$name = $_GET['username'];
$age = $_GET['age'];
echo $name.$age;
?>

表单的请求

html
<form action="02a标签发送get请求.php?username=zs" method="post">
<input type="text">
<input type="submit" value="提交数据">
</form>
php
<?php
$name = $_GET['username'];
// $age = $_GET['age'];
echo $name;
?>

其中$_GET是GET请求获得数据,_POST是post获取数据

实现文件和图片上传

前端实现上传文件,后端负责把上传的文件存储起来,然后存储到数据库中

前端

  • 必须加入(enctype=”multipart/form-data”)
  • method必须为post上传
  • 上传之后需要提交才行。
html
<form action="03.php" enctype="multipart/form-data" method="post">
上传照片<input type="file" name="file">
<br>
<br>
<input type="submit" value="提交">
</form>

后端(php)

  • 必须加入请求头(header(“Content-Type:text/html;charset=utf-8”))防止乱码
  • $_FILES是提供的上传的文件的信息的一个数组
  • 可以取出数组中的对应的文件名和文件临时存放的位置以及文件的类型。
  • move_uploaded_file(临时存放的文件的位置,新的文件夹地址和名字)
php
<?php
//设置一个请求头防止乱码
header("Content-Type:text/html;charset=utf-8");
$file = $_FILES;
// 获取上传文件的名称
$file_name = $file["file"]["name"];
//获取上传文件的临时存储地址
$tmp_name = $file["file"]["tmp_name"];
//将临时存放的文件上传存到我们要存放的目录文件下
move_uploaded_file($tmp_name,"image/".$file_name);
echo "上传成功";
?>

请求头处理

客户端向服务器端请求数据,而服务器端则向客户端响应数据。

  • getallheader()获取浏览器的所有请求头

查看浏览器是否为谷歌浏览器

php
<?php
$arr = getallheaders();
$userAgent = $arr["User-Agent"];
if(strstr($userAgent,"Chrome")){
var_dump("谷歌浏览器");
}else{
var_dump("其他浏览器");
}
?>

cookie是客户端发送给服务器端的一个字条,当客户端第一次向服务端请求数据的时候,服务端会发送给客户端一个cookie,用以保存数据,客户端接受到cookie会保存起来,如果当客户端再次请求数据的时候会把cookie携带上。并把cookie中的数据写入服务端。

cookie的生命周期

  • 存在内存中cookie,当关闭浏览器的时候cookie就会消失。
  • 存在硬盘上的cookie,即使关闭电脑cookie也不会消失。主要设置方法是(time())
  • 追杀cookie。把cookie清除掉

(1)

php
<?php
//向客户端输入cookie,以键值对的方式输入
setcookie("username","zhangshang");
?>

(2)

php
<?php
setcookie("password","1111",time() * 60);
?>

(3)再一次请求就会显示passwor deleted,代表cookie被杀死了。

php
<?php
setcookie("password","",-1);
?>

cookie记住用户名

前端获取cookie,并且判断cookie是否存在

javascript
let cookiename = document.cookie;
if(cookiename){
document.querySelector("input[type='text']").value = cookiename.split("=")[1];
}
}

后端发送cookie

php
<?php
$cookie = $_GET["username"];
setcookie("username",$cookie,time()+60*20);
?>

session

session存储在服务器中的,依赖于cookie

php
<?php
header("Content-Type:text/html;charset=utf-8");
$username = "程式";
//开启会话
session_start();
//$_SESSION是一个关联数组
$_SESSION["username"] = $username;
?>
php
<?php
header("Content-Type:text/html;charset=utf-8");
session_start();
echo $_SESSION["username"];
?>
Author: Yo
Link: https://powerlrl.gitee.io/2019/07/27/后端/php/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 谢谢你请我吃糖果
    谢谢你请我吃糖果

Comment