做题遇见的PHP函数汇总

mb_substr函数

mb_substr() 函数返回字符串的一部分,之前学过 substr() 函数,它只针对英文字符,如果要分割的中文文字则需要使用 mb_substr()

语法:
mb_substr ( $str ,$start [, $length = NULL [, $encoding = mb_encoding() ]] 参数:
$str:必需。从该 string 中提取子字符串。$start:必需。规定在字符串的何处开始。
正数 - 在字符串的指定下标位置开始
负数 - 在从字符串结尾的指定位置开始

$length :可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回

$encoding:指定字符编码,可选

mb_strpos函数

语法:
mb_strpos ($str1 ,$str2 )
mb_strpos():返回str2在str1中首次出现的下标位置
参数:
$str1:要被检查的字符串。
$str2:要搜索的字符串。

unserialize() 函数

unserialize() 函数用于将通过 serialize() 函数序列化后的对象或数组进行反序列化,并返回原始的对象结构。

语法结构
unserialize ($str )
$str:序列化的字符串
如果传递的字符串不可解序列化,则返回 FALSE,并抛出异常

如果不可解序列化,则返回false

serialize() 函数

serialize() 函数用于序列化对象或数组,并返回一个字符串。

serialize() 函数序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变。

语法
serialize ($value )
$value: 要序列化的对象或数组。

可以看到,当序列化以后输出的结果是一串字符。

a:表示一个数组,由array首字符表示,例如int序列化后回显就是i

4:表示数组的元素个数为4

{}:数组元素的集合(下标 +元素)

i:表示是整型,0:表示元素内容,这里是数组下标

s:表示类型为字符串,长度为6,内容为:Google

__construct

构造函数(也称为构造器)是类中的一种特殊函数,当使用 new 关键字实例化一个对象时,构造函数将会自动调用。代码中用到了 $this,它表示当前调用的对象,而且 $this 只能在类的方法中使用

以下代码大致的意思就是:

定义了一个名为Web的类,该类有三个属性:name、url和title,以及一个构造函数__construct()。构造函数在创建Website对象时自动调用,它接受三个参数并将它们分别赋值给类的属性。

构造函数还调用了类的另一个方法ec(),该方法会输出对象的属性值。

最后,创建了一个Web对象$object,并传入了三个参数。在构造函数中,$object的属性被赋值并输出。因为类无法直接访问,需要得到类的具体对象才能访问,可以通过实例化new来实现对象的创建

__wakeup()

__wakeup():当类外部使用`unserialize()` 时,会检查是否存在一个 `__wakeup()` 方法。如果存在,则会先调用 `__wakeup` 方法,预先准备对象需要的资源。

作用:
__wakeup() 经常用在反序列化操作中,例如重新建立数据库连接,或执行其它初始化操作。
这里的作用就是先将username赋值,使我们传入的username永远为guest

__destruct():

析构函数/方法,析构函数的作用和构造函数正好相反,析构函数只有在对象被垃圾收集器收集前(即对象从内存中删除之前)才会被自动调用。析构函数允许我们在销毁一个对象之前执行一些特定的操作,例如关闭文件、释放结果集等。

public 、public、protected

类中的 公有、私有、受保护成员

  • public 表示全局,类内部外部子类都可以访问;

  • private表示私有的,只有本类内部可以使用;

  • protected表示受保护的,只有本类或子类或父类中可以访问;

不同的访问修饰符对应的序列化也有不同。

各访问修饰符序列化后的区别:

  • public:属性被序列化的时候属性名还是原来的属性名,没有任何改变

  • protected:属性被序列化的时候属性名会变成\0*\0字段名

  • private:属性被序列化的时候属性名会变成\0类名\0字段名

foreach

foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。在PHP中,foreach可以用于遍历数组和对象的属性

通过使用foreach循环,我们可以方便地遍历数组和对象的元素,并对其进行相应的操作。

基本的foreach语法如下:
foreach ($array as $key => $value) {
// 在这里执行代码
}

在这里,$array代表要遍历的数组或对象,$key和$value是在每次循环中被赋值的变量,$key表示数组或对象的键名,$value表示对应的值。

每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。

例如,我们有一个包含一些学生姓名和年龄的关联数组:

$students = array(
    "Alice" => 18,
    "Bob" => 20,
    "Charlie" => 19
);

我们可以使用foreach循环遍历这个数组并输出每个学生的姓名和年龄:

foreach ($students as $name => $age) {
    echo "姓名:" . $name . ",年龄:" . $age . "<br>";
}
输出:

姓名:Alice,年龄:18
姓名:Bob,年龄:20
姓名:Charlie,年龄:19

foreach循环还可以用于遍历对象的属性。首先,我们需要创建一个对象:

class Person{
    public $name;
    public $age;
    
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

$person1 = new Person("Alice", 18);
$person2 = new Person("Bob", 20);
$person3 = new Person("Charlie", 19);

$people = array($person1, $person2, $person3);

然后,我们可以使用foreach循环遍历$people数组中的每个Person对象,并输出其属性:

foreach ($people as $person) {
    echo "姓名:" . $person->name . ",年龄:" . $person->age . "<br>";
}
输出:

姓名:Alice,年龄:18
姓名:Bob,年龄:20
姓名:Charlie,年龄:19

文件上传

PHP file_exists() 函数

定义和用法

file_exists() 函数检查文件或目录是否存在。

如果指定的文件或目录存在则返回 TRUE,否则返回 FALSE。

语法:
file_exists(文件路径)

$_FILES

PHP $_FILES 是一个预定义的数组,用来获取通过 POST 方法上传文件的相关信息。当客户端提交后,我们获得了一个$_FILES 数组

<?php
if ($_FILES["file"]["error"] > 0)
{
    echo "错误:" . $_FILES["file"]["error"] . "<br>";
}
else
{
    echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
    echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
    echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];
}
?>

通过使用 PHP 的全局数组 $_FILES,可以从客户计算机向远程服务器上传文件。

第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:

  • $_FILES["file"]["name"] - 上传文件的名称

  • $_FILES["file"][tmp_name] - 保存的是文件上传到服务器临时文件夹之后的文件名

  • $_FILES["file"]["type"] - 上传文件的类型

  • $_FILES["file"]["size"] - 上传文件的大小,以字节计

  • $_FILES["file"]["error"] - 由文件上传导致的错误代码

PHP move_uploaded_file() 函数

定义和用法

move_uploaded_file() 函数把上传的文件移动到新位置。

如果成功该函数返回 TRUE,如果失败则返回 FALSE。

该函数仅用于通过 HTTP POST 上传的文件。

如果目标文件已经存在,将会被覆盖。

语法:
move_uploaded_file( file, newloc )

参数

描述

file

必需。规定要移动的文件。

newloc

必需。规定文件的新位置。

PHP trim() 函数

trim() 函数移除字符串两侧的空白字符或其他预定义字符。

相关函数:
ltrim() - 移除字符串左侧的空白字符或其他预定义字符。
rtrim() - 移除字符串右侧的空白字符或其他预定义字符。
语法
trim(string,charlist)

参数

描述

string

必需。规定要检查的字符串。

charlist

可选。规定从字符串中删除哪些字符。如果省略该参数,则移除下列所有字符:

  • "\0" - NULL

  • "\t" - 制表符

  • "\n" - 换行

  • "\x0B" - 垂直制表符

  • "\r" - 回车

  • " " - 空格

deldot函数

这个函数是upload-labs中常见的函数,这其实是一个自定义函数,定义在common.php中

其主要目的是移除文件名末尾的点

例如$a = shell.php.

调用本函数后,就得到$a = shell.php

语法:
deldot(x)
函数定义如下:
function deldot($s){
    for($i = strlen($s)-1;$i>0;$i--){
        $c = substr($s,$i,1);
        if($i == strlen($s)-1 and $c != '.'){
            return $s;
        }
​
        if($c != '.'){
            return substr($s,0,$i+1);
        }
    }
}

函数大致解释就是:

strlen函数返回的是字符串的长度

从指定字符串倒数第二个字符开始,向后截取一个字符赋给c,直到c不等于0时结束循环

PHP strrchr() 函数

定义和用法

strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置

并返回从该位置到字符串结尾的所有字符。

语法:
strrchr( string,char)

参数

描述

string

必需。规定被搜索的字符串。

char

必需。规定要查找的字符。如果该参数是数字,则搜索匹配数字 ASCII 值的字符。

这个函数一般用来获取,上传文件的后缀名,比如

PHP strtolower() 函数

属实发现php的函数名很多都是英语直译过来的

定义和用法

strtolower() 函数把字符串转换为小写。

相关函数:
strtoupper() - 把字符串转换为大写
lcfirst() - 把字符串中的首字符转换为小写
ucfirst() - 把字符串中的首字符转换为大写
ucwords() - 把字符串中每个单词的首字符转换为大写
语法:
strtolower(string)

参数

描述

string

必需。规定要转换的字符串。

PHP str_ireplace() 函数

定义和用法

str_ireplace() 函数替换字符串中的一些字符(不区分大小写)。

该函数必须遵循下列规则:

  • 如果搜索的字符串是一个数组,那么它将返回一个数组。

  • 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。

  • 如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。

该函数是不区分大小写的。请使用 str_replace() 函数执行区分大小写的搜索。


语法
str_ireplace(find,replace,string,count)

参数

描述

find

必需。规定要查找的值。

replace

必需。规定用于替换的值。

string

必需。规定被搜索的字符串。

count

可选。一个变量,对替换数进行计数。

PHP strrpos() 函数

定义和用法

strrpos() 函数查找字符串在另一字符串中最后一次出现的位置(区分大小写)

相关函数:

  • strpos() - 查找字符串在另一字符串中第一次出现的位置(区分大小写)

  • stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)

  • strripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)


语法
strrpos(string,find,start)

参数

描述

string

必需。规定被搜索的字符串。

find

必需。规定要查找的字符。

start

可选。规定开始搜索的位置。

注意返回的是字符的下标索引,而不是实在位置

PHP stripos() 函数

定义和用法

stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写)。

语法
stripos(string,find,start)

注意:函数返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。

字符串位置从 0 开始,不是从 1 开始。

参数

描述

string

必需。规定被搜索的字符串。

find

必需。规定要查找的字符。

start

可选。规定开始搜索的位置。

PHP substr() 函数

定义和用法

substr() 函数返回字符串的一部分。

注意:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。


语法
substr(string,start,length)

参数

描述

string

必需。规定要返回其中一部分的字符串。

start

必需。规定在字符串的何处开始。

  • 正数 - 在字符串的指定位置开始

  • 负数 - 在从字符串结尾的指定位置开始

  • 0 - 在字符串中的第一个字符处开始

length

可选。规定要返回的字符串长度。默认是直到字符串的结尾。

  • 正数 - 从 start 参数所在的位置返回

  • 负数 - 从字符串末端返回

PHP unpack() 函数

unpack() 函数从二进制字符串对数据进行解包。

如果成功则返回数组,如果失败则返回 FALSE。


语法
unpack(format,data)

参数

描述

format

必需。规定在解包数据时所使用的格式。

可能的值:

  • a - NUL 填充的字符串

  • A - SPACE 填充的字符串

  • h - 十六进制字符串,低位在前

  • H - 十六进制字符串,高位在前

  • c - signed char

  • C - unsigned char

  • s - signed short(总是16位, machine 字节顺序)

  • S - unsigned short(总是16位, machine 字节顺序)

  • n - unsigned short(总是16位, big endian 字节顺序)

  • v - unsigned short(总是16位, little endian 字节顺序)

  • i - signed integer(取决于 machine 的大小和字节顺序)

  • I - unsigned integer(取决于 machine 的大小和字节顺序)

  • l - signed long(总是32位, machine 字节顺序)

  • L - unsigned long(总是32位, machine 字节顺序)

  • N - unsigned long(总是32位, big endian 字节顺序)

  • V - unsigned long(总是32位, little endian 字节顺序)

  • f - float(取决于 machine 的大小和表示)

  • d - double(取决于 machine 的大小和表示)

  • x - NUL 字节

  • X - 备份一个字节

  • Z - NUL 填充的字符串

  • @ - NUL 填充绝对位置

data

必需。规定被解包的二进制数据。

例:@unpack("C2chars", $bin)

在 PHP 中,unpack() 函数用于将二进制数据解包为数组。对于给定的二进制数据 $bin,@unpack("C2chars", $bin) 将会返回一个关联数组,其中键名为 chars1 和 chars2,对应着解包后的两个字节。

在这里,C 表示一个无符号字符 (一个字节),2 表示要解包两个这样的字符。因此,@unpack("C2chars", $bin) 会将 $bin 解包为两个字节,并将结果存储在 $strInfo 中。

PHP intval() 函数

intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。

成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。

如果字符串不以数字开始,则 intval() 函数将返回 0

intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

语法:
int intval ( mixed $var [, base] )

参数说明:

  • $var:要转换成 整型 的数量值。

  • $base:转化所使用的进制。

如果 base 是 0,通过检测 var 的格式来决定使用的进制:

  • 如果字符串包括了 "0x" (或 "0X") 的前缀,使用 16 进制 (hex);

  • 如果字符串以 "0" 开始,使用 8 进制(octal);

  • 如果是科学计数法,也会转换为十进制形式

  • 默认将使用 10 进制 (decimal)。

PHP image_type_to_extension - 获取图片后缀

语法
string image_type_to_extension ( int $imagetype [, bool $include_dot = TRUE ] )
根据给定的常量 IMAGETYPE_XXX 返回后缀名。

参数:

  • $imagetype:表示图像类型的整数常量,例如 IMAGETYPE_JPEG、IMAGETYPE_PNG 等。

  • $include_dot(可选):指定是否包括扩展名前的点号,默认为 TRUE,表示包括点号。

返回值:

  • 返回一个字符串,表示与给定图像类型相对应的文件扩展名。

实例
<?php
// 创建图像实例
$im = imagecreatetruecolor(100, 100);

// 保存图像 png 格式
imagepng($im, './test' . image_type_to_extension(IMAGETYPE_PNG));
imagedestroy($im);
?>

执行以上文件会在当期目录下生成一个 test.png 的图片。

php getimagesize 函数 - 获取图像信息

getimagesize() 函数用于获取图像大小及相关信息

成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。

语法格式:
array getimagesize ( string $filename [, array &$imageinfo ] )

getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。

返回结果说明

  • 索引 0 给出的是图像宽度的像素值

  • 索引 1 给出的是图像高度的像素值

  • 索引 2 给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM

  • 索引 3 给出的是一个宽度和高度的字符串,可以直接用于 HTML 的 <image> 标签

  • 索引 bits 给出的是图像的每种颜色的位数,二进制格式

  • 索引 channels 给出的是图像的通道值,RGB 图像默认是 3

  • 索引 mime 给出的是图像的 MIME 信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如: header("Content-type: image/jpeg");

exif_imagetype

exif_imagetype 是一个 PHP 内置函数,用于获取图像文件的类型。它的语法是:

exif_imagetype(string $filename): int|false

参数:

  • $filename:要检查的图像文件的路径。

返回值:

  • 如果给定的文件是一个有效的图像文件,则返回图像类型的常量值。常量值可能是 IMAGETYPE_GIF、IMAGETYPE_JPEG、IMAGETYPE_PNG 等。

  • 如果给定的文件不是有效的图像文件,或者无法读取文件信息,函数会返回 false。

#示例代码
$filename = "image.jpg";
$image_type = exif_imagetype($filename);
if ($image_type) {
    echo"该文件是图像文件,类型为:" . $image_type;
} else {
    echo"该文件不是图像文件";
}

注意事项:

  • exif_imagetype 函数需要开启 PHP 的 exif 模块才能正常工作。

  • 这个函数只能获取图像文件的类型,无法判断文件是否为图像文件。

PHP unlink() 函数

unlink() 函数删除文件。

如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。

语法
unlink(filename,context)

参数

描述

filename

必需。规定要删除的文件。

context

可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。

PHP strval() 函数

strval() 函数用于获取变量的字符串值。

语法
string strval ( $var )
参数说明:
$var: 可以是任何标量类型,但不能是数组或对象。
返回字符串。

PHP srand() 函数

srand() 函数播种随机数生成器(rand())。

srand 函数用于设置随机数生成器的种子,以便在调用随机生成函数 rand() 时产生不同的随机数序列

提示:从 PHP 4.2.0 开始,随机数生成器自动播种,因此没有必要使用该函数。


语法
srand(seed);

参数

描述

seed

可选。规定播种值。

例:srand(time());

time() 函数返回当前的时间戳,作为种子值传递给 srand 函数,可以确保每次运行代码时都会生成不同的随机数序列。

通过设置种子,可以在不同的时间和环境下得到不同的随机数序列,使生成的随机数更加随机和不可预测。

需要注意的是,srand 函数只需要在需要生成随机数之前调用一次即可,通常放在代码的开头部分。在同一个代码文件中多次调用 srand 函数可能会产生相同的随机数序列,因此最好只在需要时设置一次种子。

imagecreatefromjpeg

拆分理解image create from jpeg用于从 JPEG 图像文件创建一个新的图像资源。

imagecreatefromjpeg 函数还支持其他类型的图像文件,比如 PNG、GIF 等。只需根据文件类型选择对应的函数即可(如 imagecreatefrompng、imagecreatefromgif 等)。

语法:
imagecreatefromjpeg ( string $filename )
  • $filename:要打开的 JPEG 图像文件的路径。

  • 如果成功,返回一个新的图像资源,表示打开的 JPEG 图像文件;如果失败,返回 false。

php复制代码$filename = 'path/to/image.jpg';
$image = imagecreatefromjpeg($filename);
if ($image) {
    // 成功打开图像文件// 进行后续操作
} else {
    // 打开图像文件失败
}

imagejpeg

是一个用于将图像保存为 JPEG 格式的 PHP 函数。

函数的返回值是一个布尔值,表示图像是否成功保存。

imagejpeg 函数还支持其他类型的图像文件,比如 PNG、GIF 等。只需根据文件类型选择对应的函数即可(如 imagepng、imagegif 等)。

语法:
imagejpeg ( $image [,$to [, $quality ]] )

参数解释:

  • $image 是一个图像资源,通常通过 imagecreatefromjpeg 等函数创建的。

  • $to 是可选参数,用于指定保存的文件路径。如果不提供该参数,则函数会将图像数据直接输出到浏览器。

  • $quality 是可选参数,用于指定 JPEG 图像的质量,取值范围是 0-100。默认值是 75。

PHP is_uploaded_file() 函数

定义和用法

is_uploaded_file() 函数检查指定的文件是否是通过 HTTP POST 上传的。

如果文件是通过 HTTP POST 上传的,该函数返回 TRUE。

语法
is_uploaded_file(file)

参数

描述

file

必需。规定要检查的文件。

PHP is_writable() 函数

定义和用法

is_writable() 函数检查指定的文件是否可写。

如果文件可写,该函数返回 TRUE。

语法
is_writable(file)

参数

描述

file

必需。规定要检查的文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/36075.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ARM架构(寄存器点灯)

文章目录 前言一、LED原理图二、使用寄存器点灯的步骤三、如何操作寄存器四、实际操作1.使能GPIO端口2.将引脚设置为输出模式3.设置输出状态 五、全部代码总结 前言 本篇文章我们来讲解一下如何使用寄存器点亮一个LED灯&#xff0c;一般对于新人来说都是使用HAL库或者标准库来…

交通 | 针对Close-Enough旅行商问题的一种分支定界算法

论文解读​&#xff1a;王飞龙&#xff0c;曲晨辉 1、问题背景 \qquad 旅行商问题(TSP)是一种众所周知的路径问题。TSP的目标是在图 G ( V , E ) G(V,E) G(V,E)中找一条以场站为起终点的最短路&#xff0c;访问所有客户点 V V V&#xff0c;同时没有子环路。令 E E E表示网络中…

实训笔记7.4

实训笔记7.4 7.4一、座右铭二、IDEA集成开发环境的安装和使用三、DEBUG断点调试四、Java设计模式4.1 适配器模式4.2 动态代理模式4.3 单例设计模式 五、Java中网络编程5.1 网络编程三个核心要素5.2 TCP网络编程 六、基于网络编程的聊天系统6.1 需求分析6.2 系统设计6.2.1 概要设…

VirtualBox安装Ubuntu(22.04.2)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

RabbitMQ学习笔记9 TTL死信队列+延迟队列实战

我们去新建一个交换机&#xff1a; 然后我们再用这种方法直接创建一个队列&#xff1a; 点击bind这样我们的交换机和队列就绑定到一起了。 然后我们要新建普通队列&#xff0c;设置过期时间&#xff0c;指定死信交换机。 发布一条消息。 它会把队列传递到死信队列中去。

SpringBoot整合SpringSecurity认证与授权

唠嗑部分 在项目开发中&#xff0c;权限认证是很重要的&#xff0c;尤其是一些管理类的系统&#xff0c;对于权限要求更为严格&#xff0c;那么在Java开发中&#xff0c;常用的权限框架有哪些呢&#xff1f; 推荐的有两种&#xff0c;Shiro 与 SpringSecurity&#xff0c;当然…

GC回收器演进之路

目录 未来演进方向 历经之路 引用计数法 标记清除法 复制法 标记整理 分代式 三色标记法的诞生 三色标记法的基本概念 产生的问题 问题 1&#xff1a;浮动垃圾 问题 2&#xff1a;对象消失 遍历对象图不需要 STW 的解决方案 屏障机制 插入屏障&#xff08;Dijks…

故障:启动修复无法修复你的电脑

有台笔记本很久没用了无法开机了&#xff0c;还是用的win7的系统&#xff0c;开机后提示我使用启动修复&#xff0c;但是失败了&#xff0c;提示我启动修复无法修复你的电脑 启动修复无法修复你电脑怎么办_自动修复电脑未正确启动的解决方法&#xff0d;win7之家 1、上网查了下…

Mybatis-SQL分析组件 | 京东云技术团队

背景 大促备战&#xff0c;最大的隐患项之一就是慢sql&#xff0c;带来的破坏性最大&#xff0c;也是日常工作中经常带来整个应用抖动的最大隐患&#xff0c;而且对sql好坏的评估有一定的技术要求&#xff0c;有一些缺乏经验或者因为不够仔细造成一个坏的sql成功走到了线上&am…

基于单片机智能衣柜 智能衣橱 换气除湿制系统紫外线消毒的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;液晶显示当前衣柜温湿度和柜门开启关闭状态&#xff1b;按键设置当前衣柜湿度上限值、衣柜门打开和关闭&#xff0c;杀菌消毒&#xff1b;当湿度超过设置上限&#xff0c;继电器闭合开启风扇进行除湿&#xff1b;进行杀菌消毒时&am…

zk-IMG:对抗虚假信息

1. 引言 前序博客&#xff1a; ZKP图片授权——PhotoProof&#xff1a;proofs of permissible photo edits Daniel Kang等人2022年论文《ZK-IMG: Attested Images via Zero-Knowledge Proofs to Fight Disinformation》&#xff0c;在该论文中提供了一个简单的deep fake ima…

Web安全——渗透测试基础知识下

渗透测试基础 Web安全一、VMware虚拟机学习使用1、虚拟机简单介绍2、网络模式2.1 桥接网络&#xff08;Bridged Networking&#xff09;2.2 NAT模式2.3 Host-Only模式 3、通俗理解 二、Kali的2021安装与配置1、简单介绍2、Kali的版本3、配置3.1 安装虚拟机open-vm-tools-deskto…

IDEA中集成zookeeper的插件

IDEA中集成zookeeper的插件 一、IDEA中集成插件 搜索插件并安装&#xff1a; 安装完成&#xff0c;重启IDEA 配置zk集群 连接成功

哪家好用?四款国内外远程桌面软件横测:ToDesk、向日葵、TeamViewer、AnyDesk

一、前言 远程桌面软件对于职场人来说并不陌生&#xff0c;可以说是必备的办公软件之一。在经历过新冠疫情后&#xff0c;大家对于远程办公的认识越来越深入&#xff0c;也就在这段期间&#xff0c;远程桌面软件大范围的应用起来&#xff0c;真正走进大众视野并融入我们的工作和…

记一次阿里云被挖矿处理记录

摘要 莫名其妙的服务器就被攻击了&#xff0c;又被薅了羊毛&#xff0c;当做免费的挖矿劳动力了。 一、起因 上班&#xff08;摸鱼&#xff09;好好的&#xff0c;突然收到一条阿里云的推送短信&#xff0c;不看不知道&#xff0c;两台服务器被拉去作为苦力&#xff0c;挖矿去…

wireshark学习

抓包原理 哪种网络情况可以抓到包&#xff1f;&#xff08;1&#xff09;本机环境&#xff08;2&#xff09;集线器环境&#xff08;3&#xff09;交换机环境 交换机环境目前较为常用&#xff0c;这也分为三种情况&#xff08;1&#xff09;端口镜像&#xff08;2&#xff09…

生产环境 kafka 平滑迁移之旅

文章目录 背景分析测试环境验证现实很残酷两种抉择-----leader分区切换方案选择实施步骤手工副本集增加步骤手工leader分区切换步骤 总结 背景 线上kafka集群&#xff0c;3台机器&#xff0c;3个broker&#xff1b;其中某台机器因为硬件故障&#xff0c;需要停机维修&#xff…

HTML5 游戏开发实战 | 黑白棋

黑白棋&#xff0c;又叫反棋(Reversi)、奥赛罗棋(Othello)、苹果棋、翻转棋。黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子&#xff0c;最后以棋盘上谁的棋子多来判断胜负。黑白棋的棋盘是一个有88方格的棋盘。开始时在棋盘正中有两白两黑四个棋子交叉放置&#xff0…

《PyTorch深度学习实践》第十一讲 循环神经网络(基础篇 + 高级篇)

b站刘二大人《PyTorch深度学习实践》课程第十一讲循环神经网络&#xff08;基础篇 高级篇&#xff09;笔记与代码&#xff1a; https://www.bilibili.com/video/BV1Y7411d7Ys?p12&vd_sourceb17f113d28933824d753a0915d5e3a90 https://www.bilibili.com/video/BV1Y7411d7Y…

【MySQL】在Linux下删除和安装MySQL

文章目录 一、前言二、检查、卸载内置环境三、获取mysql官方yum源四、正式安装MySQL服务五、登录MySQL配置my.cnf设置开机启动 一、前言 大家好久不见&#xff0c;今天开始分享关系型数据库Mysql的一些知识。 二、检查、卸载内置环境 2.1 首先使用命令查询当前mysql的运行状…