php部分
1、 虚拟主机的配置方式有几种?
可以在一台物理服务器上运行/维护多个站点,用户通过不同的IP或域名来进行访问站点
虚拟主机的配置一共有两种方式来进行配置:
基于ip地址的配置(多个网卡来实现)
基于主机名的虚拟主机来进行配置(多个域名来映射到一个IP上)
2、PHP脚本的生命周期?
3、PHP变量的直接传值和引用传值
直接传值:拷贝传值 $a = $b
引用传值:快捷方式 &$a = $b
拓展:
写实复制:在值传递或者是引用传递的时候,当系统中两个变量的值相同的时候,系统为了节省内存空间,不会再开辟一个新的内存来保存两份相同的地址,直到其中一个变量发生改变的时候,这时系统就会开辟一个新的内存来保存此变量,就称之为写实复制
4、php变量的定义
以字母下划线数字组成,但不能以数字进行开头,区分大小写
5、print_r()、var_dump() 和echo 的区别
Echo: 可以一次输出多个值,多个值之间用逗号分隔echo是语言结构(language construct),而并不是真正的函数;
Print_r: 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示
Var_dump:可以使用任何变量,包括字符串,数组,数字,对象,还指明变量的类型及长度。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构
6、删除变量 unset();
7、常量
一旦定义将不能再被修改,通常大写用来区分变量
定义:Define(‘PI’,’3.14’) 访问define(‘PI’)
定义:Const PI = 3.14 访问constent(‘PI’)
Defined() 查看某个常量是否存在
8、系统的预定义变量
a) $_POST
b) $_GET
c) $_REQUEST
d) $_SERVER
e) $_SESSION
f) $_COOKIE
g) $GLOBALS // 专门用来存储全局中所用的变量
h) $_FILES[‘filename’] // /
9、系统常量
a) PHP_OS 查看服务器的运行环境
b) PHP_VERSION 查看php的版本信息
c) PHP_INT_SIZE 查看php中基本的存储单位1bety=8bits 255中状态
d) PHP_INT_MAX 查看php中最大的整型数
e) __FIFE__ 当前文件的绝对路径(包含文件名)
f) __LINE__ 获取当前的行号
g) __DIR__ 当前文件的绝对路径(不包含文件名)
h) __FUNCTION__获取函数名
10、PHP的数据类型
1)标量数据类型:
整型: 4个字节存储的值,当超过最大的整型后会自动转换为浮点型
浮点型:float:单精度 精度为7位左右 值为10^32
Double:双精度 精度为15位左右 值为10^308
可以使用E à 1.8E10科学计数法
布尔型
字符串型
2)复合数据类型:数组、对象
定界符 $str=
// 内容
DELIMIT(需顶格书写)
3)特殊数据类型:Null resource
11、单引号和双引号的区别
在php中单引号不能解析变量,双引号可以(变量后若有字符用{}进行分隔即可)
在JS中单双引号都不能解析变量
单引号: 只能转译单引号和反斜杠
双引号: 除了单引号其他都能转译
12、运算符
算数、比较、赋值、链接、错误抑制、自操作、三目、
逻辑 && || ! (通常将与&&的false和将或||的true放在前边,效率高)
位运算
&:按位与,同为1则为1
| :按位或,有1则为1
~:按位取反,0变为1,1变为0
^:按位抑或,相同则为0,不同则为1
>>: 右移
13、程序代码的执行结构
顺序结构
分支结构:if 和 switch 结构
循环结构: for foreach(JS for…in…) while do..while
14、循环控制
Continue:结束本次循环,继续执行下次循环,后边也可带参数跳出几层循环
Break:结束当前的循环体,继续执行循环体下边的内容,break后边可以带参数跳出几层循环
15、标签语法
If for foreach while
① : ?>
②
16、php的编译过程
①加载源代码à编译à词法分析(parse error)à语法分析(parse error)à生成opcodeà执行opcode (fatal error)à html代码
17、函数
# 回调函数:在函数的内部使用可变变量来实现外部函数的调用,处理传递进来的参数
# 函数名不区分大小写
函数的作用域:全局和局部以函数为界限
局部访问全局: 引用传值,$GLOBALS(超全局预定义变量),global关键字
全局访问局部:global关键字,return返回值
$GLOBAL超全局预定义变量,可以在任何地方使用变量,且可以改变变量的值
Global关键字只能在函数中引入变量,并不能对其赋值,实质上就是在函数的内部创建了一个局部变量,使内存地址指向外部变量的地址,如果外部没有该变量则自己创建一个
18、静态变量
初始化一次(编译保存在代码段),通常与递归进行搭配
19、伪类型
Number Mixed callback void
20、数据类型的转换
False 0 0.0 ‘’ null array() object à 均为false
(int) (bool) (float) (string) (array) (object)
21、数据类型的判断
is_bool: 判断数据类型是否是布尔类型
is_float: 判断数据是否是浮点型
is_integer: 整型判断
is_object: 对象判断
is_array: 数组判断
is_string: 字符串判断
is_resource: 资源判断
is_scalar: 标量判断: 整型,浮点型,布尔型和字符串型都可以判断
is_null: 是否为空
is_numeric: 数值型判断(纯数值型字符串)
Gettype: 获得一个数据的数据类型:返回的字符串描述
Settype: 修改数据的数据类型(修改数据本身: 永久性)
22、empty与undefined的区别
Empty 检查变量是否为空
换句话说,””、0、”0″、NULL、FALSE、array()、var $var、未定义;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE
Isset 检查变量是否设置
如果变量存在(非NULL)则返回 TRUE
拓展:
Null 即是一个不存在的对象的占位符
Undefined 变量已经被声明,但没用赋值
NaN 不是一个数字
23、文件包含
意义:页面布局,代码复用
向上包含:通常是为了使用其他脚本中的结构(类和函数)
向下包含:通常是为了为了当前脚本的数据在对应的HTML中进行显示
include和require的区别:在包含文件的时候处理错误的态度不一样
include只是尝试包含,给出警告,后续的代码还是会继续执行
require 是强制包含,给出致命错误,后续的代码不会继续执行
include_once只包含一次,而include执行一次包含一次
require_once 同上
24、文件路径
磁盘的绝对路径:D:/server/apache (仅限在服务器端使用,不能写入到HTML中)
网络的绝对路径:http://localhost/ (可以用于任何地方,从站点的根目录开始寻找)
./ 当前目录
../ 上层目录
/ 网站的根目录
绝对路径更加准确(__DIR__),相对路径效率高但可能出错
25、数组
1)数组的三种定义方式:
$arr = array();
$arr = [];
$arr = null; $arr[] = 1;
2) 数组的分类:
索引数组、关联数组、混合数组 (都是通过下标来进行区分)
3)count($arr)函数: 查询出数组中的所有元素
4)数组的遍历
for():只能遍历索引数组
foreach():可以遍历所有的数组,利用了数组内部的数组指针
5)Each():通过数组的指针获取数组元素的函数,能够将当前数组指针所指向的元素的下标和值都可以获取到(数组的指针刚开始处于下标为0处),以关联和索引的形式个返回一组数据,是一个具有四个元素的数组(1和value保存值;0和key保存键名)
each()是指针的操作,当访问一次数组后,数组的指针将会下移一位;当指针移出数组后将返回false,each()可以来证明当前数组的指针处于什么地方
6)List():List 函数可以批量的为变量进行赋值
List(变量列表) = 数组; 通常list是搭配each针对数组进行遍历
7)数组相关函数
key: 获取当前数组指针指向的键名
Current:获取当前数组指针指向的键值
Next: 获取当前指针的下一个元素的值,并且将指针移动到下一位数组元素
Prev: 获取当前指针的上一个元素的值,并且将指针移动到上一位数组元素
end: 获取数组的最后一个元素,并将指针移动到最后一个元素
reset:重置,将数组指针移动到第一个元素
next或者prev无法将一个已经移除数组的指针移回来
end和reset 可以将指针移回来
array_keys:获取数组的所有的下标(键名),返回索引数组
array_values:获取数组的所有的值,返回索引数组
26、数据结构模拟
数据结构:数据的存储方式
常见的数据结构:栈(先进后出) 队列(先进先出)
Array_push 向数组的后边加入一个元素
array_pop 从数组的后边弹出一个元素
array_shift 从数组的前面弹出一个元素
array_unshift 从数组的前面加入一个元素
27、数组字符串的转换
explode(‘,’,$str) 将一个字符串按照一定的方式爆炸为数组
implode(‘-’,$arr) 将数组按照一定的方式编织为字符串
28、数组的和运算
1)+ 加运算:不区分索引和关联
运算方式:保留第一个数组中的所有的元素,去寻找第二个数组中的元素,如果存在相同的下标则不管,如果不存在则添加进来
2)array_merge():首先尝试保留第一个数组中所有的元素,去寻找第二个数组中相同的下标(索引)如果存在则后边的覆盖前边的,如果不存在则保留第一个,如果后边还有索引下标对应的元素,直接添加到第一个数组的后边,索引重置
29、数组验证码
1)利用range函数得到指定范围内的一个随机数range(0,9),range(a,z),range(A,Z)
2)合并数组array_range()
3) 通过array_rand($array,$num)函数获取随机下标
4)利用shuffle()打乱下标
5)通过遍历下标从合并的数组中得到验证码
29、系统函数
字符串函数:
1)Strlen($str):获取字符串的长度
2)Substr($str,起始点,终止点)获取指定范围内的字符串,没有指定终点则到最后
3)Strtolower($str):将所有的字符串小写
4)Strtoupper($str):将所有的字符串大写
5)Strrev($str):reverse 将字符串进行反转
6)Strpos:获取指定字符的位置
7)Strrpos:从右边开始获取字符串的位置
8)Strchr($str,’|’)从匹配的地方截取字符串到最后(从左到右)
9)Strrchr($str,’.’) 从匹配的地方截取字符串(从后向前)
10) Trim() 消除字符串两边的空格或者是指定的字符
11)str_repeat:重复的输出某个指定的字符串
时间日期函数
1) time():获取当前时间的时间戳
2)Date():时间戳转日期
Date(‘Y-m-d H:i:s’) 获取当前的日期
Date(‘Y-m-d H:i:s’,time()) 同上
Strtotime():将字符串转换成时间戳
Microtime(): 获取微秒数
数学相关的函数
Abs:获取绝对值
Floor:向下取整
Ceil:向上取整
Round:四舍五入
Rand:取得一个指定区间内的随机数
mt_rand:取得一个指定区间内的随机数
30、浏览器的传值
1)浏览器的传值方式有两种:get和post即url和表单传值两种方式
2)URL的组成:http://(http协议)+localhost:80(主机)+URI(统一资源定位)
3) 表单的传值都是通过name属性名来加以区分,一旦出现同名将会被覆盖
4)$_REQUERST:不安全,会通过array_merge()函数来合并post和get数据,如果出现同名函数将会被覆盖:php.ini中request_order选项代表覆盖的顺序
31、文件上传
文件的上传分为两个部分:客户端的上传和服务器的接收
1)服务器端必须接收文件:开启php.ini中文件的上传file_uploads = on
2)修改文件上传的临时文件存放目录:upload_tmp_dir =
3)对于大文件需要用post进行传递,故提交方式为post
4) 使用表单域进行传递
此处的name值通过$_FILE[‘upfile’]来进行接收
5) 通过get和post默认提交的数据为字符串类型,文件上传时属于二进制的形式故要使用post来帮助提交二进制数据,那么要指定提交数据类型为二进制

“你的组织要求你更改PIN消息”将显示在登录屏幕上。当在使用基于组织的帐户设置的电脑上达到PIN过期限制时,就会发生这种情况,在该电脑上,他们可以控制个人设备。但是,如果您使用个人帐户设置了Windows,则理想情况下不应显示错误消息。虽然情况并非总是如此。大多数遇到错误的用户使用个人帐户报告。为什么我的组织要求我在Windows11上更改我的PIN?可能是您的帐户与组织相关联,您的主要方法应该是验证这一点。联系域管理员会有所帮助!此外,配置错误的本地策略设置或不正确的注册表项也可能导致错误。即

Windows11将清新优雅的设计带到了最前沿;现代界面允许您个性化和更改最精细的细节,例如窗口边框。在本指南中,我们将讨论分步说明,以帮助您在Windows操作系统中创建反映您的风格的环境。如何更改窗口边框设置?按+打开“设置”应用。WindowsI转到个性化,然后单击颜色设置。颜色更改窗口边框设置窗口11“宽度=”643“高度=”500“>找到在标题栏和窗口边框上显示强调色选项,然后切换它旁边的开关。若要在“开始”菜单和任务栏上显示主题色,请打开“在开始”菜单和任务栏上显示主题

默认情况下,Windows11上的标题栏颜色取决于您选择的深色/浅色主题。但是,您可以将其更改为所需的任何颜色。在本指南中,我们将讨论三种方法的分步说明,以更改它并个性化您的桌面体验,使其具有视觉吸引力。是否可以更改活动和非活动窗口的标题栏颜色?是的,您可以使用“设置”应用更改活动窗口的标题栏颜色,也可以使用注册表编辑器更改非活动窗口的标题栏颜色。若要了解这些步骤,请转到下一部分。如何在Windows11中更改标题栏的颜色?1.使用“设置”应用按+打开设置窗口。WindowsI前往“个性化”,然

您是否在Windows安装程序页面上看到“出现问题”以及“OOBELANGUAGE”语句?Windows的安装有时会因此类错误而停止。OOBE表示开箱即用的体验。正如错误提示所表示的那样,这是与OOBE语言选择相关的问题。没有什么可担心的,你可以通过OOBE屏幕本身的漂亮注册表编辑来解决这个问题。快速修复–1.单击OOBE应用底部的“重试”按钮。这将继续进行该过程,而不会再打嗝。2.使用电源按钮强制关闭系统。系统重新启动后,OOBE应继续。3.断开系统与互联网的连接。在脱机模式下完成OOBE的所

任务栏缩略图可能很有趣,但它们也可能分散注意力或烦人。考虑到您将鼠标悬停在该区域的频率,您可能无意中关闭了重要窗口几次。另一个缺点是它使用更多的系统资源,因此,如果您一直在寻找一种提高资源效率的方法,我们将向您展示如何禁用它。不过,如果您的硬件规格可以处理它并且您喜欢预览版,则可以启用它。如何在Windows11中启用任务栏缩略图预览?1.使用“设置”应用点击键并单击设置。Windows单击系统,然后选择关于。点击高级系统设置。导航到“高级”选项卡,然后选择“性能”下的“设置”。在“视觉效果”选

在Windows11上的显示缩放方面,我们都有不同的偏好。有些人喜欢大图标,有些人喜欢小图标。但是,我们都同意拥有正确的缩放比例很重要。字体缩放不良或图像过度缩放可能是工作时真正的生产力杀手,因此您需要知道如何对其进行自定义以充分利用系统功能。自定义缩放的优点:对于难以阅读屏幕上的文本的人来说,这是一个有用的功能。它可以帮助您一次在屏幕上查看更多内容。您可以创建仅适用于某些监视器和应用程序的自定义扩展配置文件。可以帮助提高低端硬件的性能。它使您可以更好地控制屏幕上的内容。如何在Windows11

屏幕亮度是使用现代计算设备不可或缺的一部分,尤其是当您长时间注视屏幕时。它可以帮助您减轻眼睛疲劳,提高易读性,并轻松有效地查看内容。但是,根据您的设置,有时很难管理亮度,尤其是在具有新UI更改的Windows11上。如果您在调整亮度时遇到问题,以下是在Windows11上管理亮度的所有方法。如何在Windows11上更改亮度[10种方式解释]单显示器用户可以使用以下方法在Windows11上调整亮度。这包括使用单个显示器的台式机系统以及笔记本电脑。让我们开始吧。方法1:使用操作中心操作中心是访问

在iOS17中,Apple为其移动操作系统引入了几项新的隐私和安全功能,其中之一是能够要求对Safari中的隐私浏览选项卡进行二次身份验证。以下是它的工作原理以及如何将其关闭。在运行iOS17或iPadOS17的iPhone或iPad上,如果您在Safari浏览器中打开了任何“无痕浏览”标签页,然后退出会话或App,Apple的浏览器现在需要面容ID/触控ID认证或密码才能再次访问它们。换句话说,如果有人在解锁您的iPhone或iPad时拿到了它,他们仍然无法在不知道您的密码的情况下查看您的隐私


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),