当前位置: 首页 > article >正文

网络安全之Web后端PHP

目录

一、PHP基础语法

1.PHP基础

(1)php的优点

(2)PhpStorm的优点

2.PHP基本语法

 3.PHP变量

4.PHP运算符

二、PHP流控与数组

1.php流程控制语句以及循环

(1)if 语句

(2)if...else 语句

 (3)if...elseif....else 语句

(4)switch 语句

(5)while语句

(6)do...while语句

(7)for语句

2.php数组

(1)创建数组

(2)遍历数值数组

三、PHP其他概念

1.php函数

(1)函数的定义

(2)函数的使用

(3)PHP 函数准则

2.PHP表单与web操作

3.php文件上传

4.php面向对象

5.创建对象和类


一、PHP基础语法

1.PHP基础

php是一种通用的脚本语言,语法吸收了c语言、java和perl的特点,利于学习,使用广泛

(1)php的优点

  • PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
  • PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
  • PHP 提供了广泛的数据库支持
  • PHP 易于学习,并可高效地运行在服务器端

(2)PhpStorm的优点

  • 智能代码补全:PhpStorm提供智能代码补全功能,可以帮助PHP开发者快速完 成代码输入,提高编码效率。
  • 快速导航:通过快速导航功能,开发者可以迅速定位到类、方法、变量等定 义位置,方便进行代码修改和调试。
  • 即时错误检查:即时显示语法错误和其他潜在问题,并提供快速修复建议, 帮助开发者及时纠正错误。
  • 多语言支持:除了PHP外,PhpStorm还支持HTML、CSS、JavaScript等前端技术, 以及Smarty和PHPDoc等标记语言,满足现代web开发的需求。
  • 数据库管理:PhpStorm内置SQL编辑器,支持常见的数据库如MySQL,可以执 行SQL查询、管理数据库结构等。

2.PHP基本语法

PHP 脚本可以放在文档中的任何位置。

PHP脚本以<?php开始,以?>结束。

<?php
//正文
?>
  • PHP文件的默认文件扩展名是 .php。
  • PHP文件通常包含HTML标签和一些PHP脚本代码。

PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来 通过 PHP,有两种在浏览器输出文本的基础指令:echo和 print。print不推荐使用,一般都是echo echo由于其性能优势,速度更快,print一次只能输出一个字 符串,如果你需要输出多个,你需要使用连接符(.)来连 接它们,或者使用多个 'print' 语句,这会让代码看起来更加繁琐。

<?php
echo "内容";
?>

 3.PHP变量

是用来存储数据的一个容器,你可以给它赋予任何值(数字、文本、文件路径等),并且可以在PHP代码中随时使用这个值。变量名前面会有一个美元符号$。

//举例:
<?php
$a=7;
$b=8;
$c="I love";
echo $c;
echo "<br>"
echo $a;
?>

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

注意:当赋一个文本值给变量时,需要在文本值两侧加上引号。 PHP 语句和 PHP 变量都是区分大小写的。

4.PHP运算符

用于执行各种数学、逻辑、比较、赋值等操作的符号。

并置运算符(.)用于把两个字符串连接起来。

运算符名称描述

++X

预递增X加1,然后返回X
X++后递增返回X,然后X加1
--X预递减X减1,然后返回X
X--后递减

返回X,然后X减1

运算符名称描述
x==y等于如果x等于y,则返回true
x===y绝对等于如果x等于y,且它们类型相同,则返回true
x!=y不等于如果x不等于y,则返回true
x<>y不等于如果x不等于y,则返回true
x!==y不绝对等于如果x不等于y,或它们类型不同,则返回true
x>y大于如果x大于y,则返回true
x<y小于如果x小于y,则返回true
x>=y大于等于如果x大于或等于y,则返回true
x<=y小于等于如果x小于或等于y,则返回true
//举例:
<?php
$a=7;
$b=8;
var_dump(...vars:$a===$b);
//var_dump输出变量的数据类型、值、长度(如字符串或数组)等详细信息
?>

运算符名称描述
x and y如果x和y都为true,则返回true
x or y如果x和y至少有一个为true,则返回true
x xor y异或如果x和y仅有一个为true,则返回true
x && y如果x和y都为true,则返回true

x || y

如果x和y至少有一个为true,则返回true
! x如果x不为true,则返回true

二、PHP流控与数组

1.php流程控制语句以及循环

PHP流程控制语句用于决定代码的执行顺序,循环则是重复执行某段代码直到满足特定条件为止

(1)if 语句

在条件成立时执行代码

if(/*条件*/)
{
/*条件成立时要执行的代码*/;
}

(2)if...else 语句

在条件成立时执行一块代码,条件不成立时执行另一块代码 

if(/*条件*/)
{
/*条件成立时执行的代码*/;
}
else
{
/*条件不成立时执行的代码*/;
}

 (3)if...elseif....else 语句

在若干条件之一成立时执行一个代码块

if(/*条件1*/)
{
/*条件1成立时执行的代码*/;
}
else if(/*条件2*/)
{
/*条件1不成立且条件2成立时执行的代码*/;
}
/*......*/
else if(/*条件N*/)
{
/*条件1~N-1不成立且条件N成立时执行的代码*/;
}
else
{
/*条件1~N不成立时执行的代码*/;
}

(4)switch 语句

有选择地执行若干代码块之一

switch(/*N(条件)*/)
{case /*label1*/:/*如果N=label1,此处代码将执行*/;break;case /*label2*/:/*如果N=label2,此处代码将执行*/;break;/*......*/case /*labeln*/:/*如果N=labeln,此处代码将执行*/;break;default:/*如果N不等于label1~labeln,此处代码将执行*/;
}

(5)while语句

只要指定的条件成立,则循环执行代码块

while(/*条件*/)
{
/*要执行的代码*/;
}

(6)do...while语句

首先执行一次代码块,然后在指定的条件成立时重复这个循环

do
{
/*要执行的代码*/;
}
while(/*条件*/);

(7)for语句

循环执行代码块指定的次数

for(/*初始值*/;/*条件*/;/*增量*/)
{/*要执行的代码*/;
}

2.php数组

PHP数组是一种数据结构,用于存储键值对集合,其中每个键可以 是整数索引或字符串索引,而值可以是任何类型的数据

/*数组的创建*/
/*自动分配下标*/
$arr=array(/*下标为0的元素*/,/*下标为1的元素*/,/*...*/,/*下标为N-1的元素*/);/*手动分配下标*/
$str[/*下标*/]="/*下标对应的元素*/";/*数据的索引*/
echo $arr[/*下标*/];/*数组长度获取*/
echo count($/*数组名*/);

(1)创建数组

array() 函数用于创建数组

count() 函数用于返回数组的长度(元素的数量)

(2)遍历数值数组

可以使用for循环以及foreach循环

三、PHP其他概念

1.php函数

将实现某一功能的代码块封装到一个结构中,实现代码复用,只要系统在内存中能够找到对应的函数,就可以执行(函数的调用可以在函数定义之前)

(1)函数的定义

function /*函数名*/(/*参数*/)
{ /*函数体*/ 
}

(2)函数的使用

/*函数名*/(/*参数*/);

(3)PHP 函数准则

函数的名称应该提示出它的功能,函数名称以字母或下划线开头(不能以数字开头)

2.PHP表单与web操作

表单是一个包含表单元素的区域。表单的作用是搜集不同类型的用户输入,然后将用户信息提交给服务器。

表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。

用户提交数据通常是使用表单进行提交,也可以使用网址中的参数传递数据,这些数据通过HTTP请求的方式发送,使web服务器获取。PHP提供了预定义的超全局变量,用来获 取HTTP请求信息,这些变量的数据类型均为数组。

3.php文件上传

PHP文件上传是Web开发中常见的功能之一,它允许用户通过Web表单将文件(如图片、文档、 视频等)上传到服务器

(1)PHP脚本处理

(2)文件验证

(3)文件存储

4.php面向对象

php面向对象是一种编程思想,面向对象是一种以对象(Object)为中心的编程思想。面向对象编程更注重对问题的抽象和封装,通过将问题分解为一系列相互协作的对象来实现程序的功能

php类和对象: 类是抽象的概念,仅仅是模板。用来描述具有相同属性和方法的对象的集合。

5.创建对象和类

在PHP中,使用class关键字来定义一个类,类可以包含属性(变量)和方法(函数)。

属性用于存储数据,而方法用于执行操作。 

在类内部,可以通过$this关键字访问当前对象的属性和方法。在类外部,需要通过实例化对象来访问这些成员。new关键字直接跟类名来创建对象。

相关文章:

网络安全之Web后端PHP

目录 一、PHP基础语法 1.PHP基础 &#xff08;1&#xff09;php的优点 &#xff08;2&#xff09;PhpStorm的优点 2.PHP基本语法 3.PHP变量 4.PHP运算符 二、PHP流控与数组 1.php流程控制语句以及循环 &#xff08;1&#xff09;if 语句 &#xff08;2&#xff09;if…...

Redis——用户签到BitMap,UV统计

目录 BitMap 使用场景 1. 用户签到系统 2. 用户行为标记 3. 布隆过滤器&#xff08;Bloom Filter&#xff09; BitMap介绍 Redis中的使用 Redis功能示例 添加&#xff1a; 获取&#xff1a; 批量获取&#xff1a; java中实现 统计本月连续签到次数 UV统计 UV 统计…...

pycharm技巧--鼠标滚轮放大或缩小 Pycharm 字体大小

1、鼠标滚轮调整字体 设置 Ctrl 鼠标滚轮调整字体大小 备注&#xff1a; 第一个是活动窗口&#xff0c;即缩放当前窗口 第二个是所有编辑器窗口&#xff0c;即缩放所有窗口的字体 2、插件 汉化包&#xff1a; Chinese Simplified 包...

数字信任的底层逻辑:密码学核心技术与现实应用

安全和密码学 --The Missing Semester of Your CS Education 目录 熵与密码强度密码散列函数密钥体系 3.1 对称加密 3.2 非对称加密信任模型对比典型应用案例安全实践建议扩展练习杂项 密码学是构建数字信任的基石。 本文浅析密码学在现实工具中的应用&#xff0c;涵盖 1&…...

全面理解-深拷贝与浅拷贝

在 C 中&#xff0c;深拷贝&#xff08;Deep Copy&#xff09; 和 浅拷贝&#xff08;Shallow Copy&#xff09; 是两种完全不同的对象拷贝策略&#xff0c;主要区别在于对指针和动态分配资源的处理方式。正确理解二者的区别是避免内存泄漏、悬空指针和程序崩溃的关键。 一、核…...

Redis分布式锁故障处理:当Redis不可用时的应对策略

Redis分布式锁故障处理&#xff1a;当Redis不可用时的应对策略 在分布式系统中&#xff0c;Redis因其高性能和丰富的特性常被用于实现分布式锁。但当加锁过程中Redis服务不可用时&#xff0c;系统将面临严重挑战。本文将深入探讨这一问题&#xff0c;并提供多维度解决方案。 目…...

WordPress平台如何接入Deepseek,有效提升网站流量

深夜改代码到崩溃&#xff1f;《2024全球CMS生态报告》揭露&#xff1a;78%的WordPress站长因API对接复杂&#xff0c;错失AI内容红利。本文实测「零代码接入Deepseek」的保姆级方案&#xff0c;配合147SEO的智能发布系统&#xff0c;让你用3个步骤实现日均50篇EEAT合规内容自动…...

ROS ur10机械臂添加140夹爪全流程记录

ROS ur10机械臂添加140夹爪 系统版本&#xff1a;Ubuntu20.04 Ros版本&#xff1a;noetic Moveit版本&#xff1a;moveit-noetic 参考博客&#xff1a; ur3robotiq ft sensorrobotiq 2f 140配置rviz仿真环境_有末端力传感器的仿真环境-CSDN博客 UR5机械臂仿真实例&#xf…...

16、Python面试题解析:python中的浅拷贝和深拷贝

在 Python 中&#xff0c;浅拷贝&#xff08;Shallow Copy&#xff09; 和 深拷贝&#xff08;Deep Copy&#xff09; 是处理对象复制的两种重要机制&#xff0c;它们的区别主要体现在对嵌套对象的处理方式上。以下是详细解析&#xff1a; 1. 浅拷贝&#xff08;Shallow Copy&a…...

第十九天 HarmonyOS的文件操作和本地存储

一、前言&#xff1a;为什么需要掌握文件操作与本地存储&#xff1f; 在移动应用开发中&#xff0c;文件操作和本地存储是每个开发者都必须掌握的核心技能。无论是保存用户配置、缓存网络数据&#xff0c;还是处理图片/视频等多媒体文件&#xff0c;都需要通过文件系统进行操作…...

VLM(视觉语言模型)与DeepSeek R1(奖励机制)如何结合

VLM&#xff08;视觉语言模型&#xff09;与DeepSeek R1&#xff08;奖励机制&#xff09;如何结合 flyfish VLM的传统训练依赖于监督学习&#xff08;直接拟合问答对&#xff09;&#xff0c;而规则奖励函数通常用于强化学习&#xff08;通过试错和奖励反馈优化策略&#xf…...

FFMPEG编码容错处理解决办法之途径----升级库文件

在qt开发环境下接收网络数据&#xff0c;调用ffmpeg解码播放视频&#xff0c;出现闪屏现象&#xff0c;具体现象可以使用操作系统自带的ffplay播放器播放原始视频流可复现&#xff1b;而使用操作系统自带的mpv播放器播放视频则不会出现闪屏&#xff1b;闪屏时会报Could not fin…...

uniapp h5端和app端 使用 turn.js

前提:添加页后,添加页与当前页会重叠在一起,不知道为什么,没有找到解决办法 1.h5端 <template><view class"container"><view id"flipbook"><view class"page page1">Page 1</view><view class"page pag…...

【idea问题排查技巧】

以下是针对 IDEA 中 日志打标(动态标记) 和 全链路追踪 功能的分步详解,结合具体场景和操作截图说明,帮助快速掌握实战技巧。 一、动态日志打标:不修改代码输出关键信息 1. 断点日志打印(非侵入式打标) 场景:在调试时,需要临时查看某个变量的值,但不想修改代码添加…...

【入门音视频】音视频基础知识

&#x1f308;前言&#x1f308; 这个系列在我学习过程中&#xff0c;对音视频知识归纳总结的笔记。因为音视频相关讲解非常稀少&#xff0c;所以我希望通过这个音视频系列&#xff0c;跟大家一起学习音视频&#xff0c;希望减少初学者在学习上的压力。同时希望也欢迎指出文章的…...

JMeter性能问题

性能测试中TPS上不去的几种原因 性能测试中TPS上不去的几种原因_tps一直上不去-CSDN博客 网络带宽 连接池 垃圾回收机制 压测脚本 通信连接机制 数据库配置 硬件资源 压测机 业务逻辑 系统架构 CPU过高什么原因 性能问题分析-CPU偏高 - 西瓜汁拌面 - 博客园 US C…...

软考高级信息系统项目管理师笔记-第2章信息技术发展

第2章 信息技术发展 2.1 信息技术及其发展 1、按表现形态的不同,信息技术可分为硬技术(物化技术)与软技术(非物化技术)。前者指各种信息设备及其功 能,如传感器、服务器、智能手机、通信卫星、笔记本电脑。后者指有关信息获取与处理的各种知识、方法 与技能,如语言文字…...

大语言模型(LLM)提示词(Prompt)高阶撰写指南

——结构化思维与工程化实践 一、LLM提示词设计的核心逻辑 1. 本质认知 LLM是「超强模式识别器概率生成器」&#xff0c;提示词的本质是构建数据分布约束&#xff0c;通过语义信号引导模型激活特定知识路径。优秀提示词需实现&#xff1a; 精准性&#xff1a;消除歧义&#…...

捷 C++ 课程学习笔记:STL 应用与复杂度分析

一、STL 六大组件 STL&#xff08;Standard Template Library&#xff09;是 C 标准库的重要组成部分&#xff0c;提供了通用的模板类和函数&#xff0c;用于实现常用的数据结构和算法。STL 主要包括以下六大组件&#xff1a; 容器&#xff08;Containers&#xff09;&#xf…...

【python】提取word\pdf格式内容到txt文件

一、使用pdfminer提取 import os import re from pdfminer.high_level import extract_text import docx2txt import jiebadef read_pdf(file_path):"""读取 PDF 文件内容:param file_path: PDF 文件路径:return: 文件内容文本"""try:text ext…...

数据结构☞泛型

一.基础定义与应用方向 1.定义&#xff1a; 一般的类和方法&#xff0c;只能使用具体的类型 : 要么是基本类型&#xff0c;要么是自定义的类。如果要编写可以 应用于多种类型 的代码&#xff0c;这种刻板的限制对代码的束缚就会很大。----- 来源《 Java 编程思想》对泛型的介…...

MFC学习笔记-1

一、编辑框和按钮 //.h文件private:CString str;//给窗口类加了一个变量&#xff08;定义一个成员变量&#xff09;&#xff0c;关联到IDC_EDIT1中&#xff08;要在实现中关联&#xff0c;源文件文件夹中&#xff09;CString str2;//接收button2&#xff0c;和IDC_EDIT2绑定 p…...

html中rel、href、src、url的区别

1.url url&#xff08;统一资源定位符&#xff09;&#xff1a;是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示&#xff0c;是互联网上标准资源的地址。 2.href href&#xff1a;Hypertext Reference的缩写。 意思是超文本引用。 3.rel rel&#xff1a;relatio…...

hot100-二叉树

二叉树 二叉树递归 相当于这个的顺序来回调换 class Solution {private List<Integer> res new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {if(root null)return res;inorderTraversal(root.left);res.add(root.val);inorde…...

嵌入式项目:STM32刷卡指纹智能门禁系统

本文详细介绍基于STM32的刷卡指纹智能门禁系统。 获取资料/指导答疑/技术交流/选题/帮助&#xff0c;请点链接&#xff1a; https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系统功能 1.1 功能概述 本系统由STM32硬件端&#xff08;下位机&#xff09;…...

短剧小程序系统源码

短剧小程序系统源码 今天我要向大家介绍的是最新作品——短剧小程序系统源码。这不仅仅是一款简单的播放工具&#xff0c;它背后蕴含的强大功能能够帮助你的短剧业务实现质的飞跃&#xff01; 为什么说这款源码很厉害&#xff1f; 首先&#xff0c;在当今竞争激烈的市场环境…...

鸿蒙5.0实战案例:基于measure实现的文本测量

往期推文全新看点&#xff08;文中附带全新鸿蒙5.0全栈学习笔录&#xff09; ✏️ 鸿蒙&#xff08;HarmonyOS&#xff09;北向开发知识点记录~ ✏️ 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ ✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景&#…...

C#中级教程(2)——走进 C# 面向对象编程:从基础到进阶的深度探索

一、为什么选择面向对象编程 在软件开发的演进过程中&#xff0c;随着程序规模和复杂度的不断增加&#xff0c;传统的编程方式逐渐暴露出局限性。面向对象编程应运而生&#xff0c;它就像是一位智慧的组织者&#xff0c;将程序中的功能进行模块化划分。每个模块各司其职&#x…...

基于SpringBoot的“流浪动物救助系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“流浪动物救助系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 局部E-R图 系统首页界面 系统…...

基于WebRTC与AI大模型接入EasyRTC:打造轻量级、高实时、强互动的嵌入式音视频解决方案

随着物联网和嵌入式技术的快速发展&#xff0c;嵌入式设备对实时音视频通信的需求日益增长。然而&#xff0c;传统的音视频解决方案往往存在体积庞大、实时性差、互动体验不佳等问题&#xff0c;难以满足嵌入式设备的资源限制和应用场景需求。 针对以上痛点&#xff0c;本文将介…...