「PHP系列」PHP超级全局变量详解

文章目录

  • 一、$GLOBALS
    • 1. 在函数内部访问全局变量
    • 2. 在函数内部修改全局变量
    • 3. 注意事项
  • 二、$_SERVER
  • 三、$_REQUEST
    • 1. 从 GET 请求中获取数据
    • 2. 从 POST 请求中获取数据
    • 3. 注意事项
  • 四、$_POST
  • 五、$_GET
  • 六、$_FILES
  • 七、$_ENV
  • 八、$_COOKIE
  • 九、$_SESSION
  • 十、相关链接

一、$GLOBALS

$GLOBALS 是一个超全局变量,在 PHP 中用于访问全局作用域内的所有变量。这个超全局变量实际上是一个包含所有全局变量的数组。你可以通过 $GLOBALS 数组来访问和修改全局作用域中的任何变量,即使在函数或方法内部。

1. 在函数内部访问全局变量

$x = 10;
$y = 20;function add() {$sum = $GLOBALS['x'] + $GLOBALS['y'];echo $sum; // 输出 30
}add();

在这个例子中,$x$y 是全局变量。在 add() 函数内部,我们通过 $GLOBALS 数组访问这两个全局变量,并将它们相加。

2. 在函数内部修改全局变量

$name = "Alice";function setName($newName) {$GLOBALS['name'] = $newName;
}setName("Bob");
echo $name; // 输出 Bob

在这个例子中,我们定义了一个函数 setName(),它接受一个参数 $newName 并使用 $GLOBALS 来修改全局变量 $name 的值。

3. 注意事项

$GLOBALS 提供了一种访问全局变量的方式,但过度依赖它通常不是一个好的编程实践。全局变量可能导致代码难以理解和维护,因为它们可以在任何地方被修改。在面向对象编程中,更推荐使用类的属性和方法来管理状态,而不是全局变量。

二、$_SERVER

$_SERVER 是一个超全局变量,在 PHP 中用于收集关于当前脚本环境的信息,以及关于客户端请求的信息。$_SERVER 数组包含了由 web 服务器创建的信息,例如请求头、路径和脚本位置等。这些信息可以用来处理请求、重定向、生成动态内容等。

下面是一些 $_SERVER 数组中常见的键及其描述:

  • $_SERVER['PHP_SELF']:当前执行脚本的文件名。这常常用于表单处理,以便知道表单数据发送到哪里。
  • $_SERVER['REQUEST_METHOD']:请求使用的 HTTP 方法,如 “GET” 或 “POST”。
  • $_SERVER['REQUEST_URI']:访问此页面所需的完整的 URL。
  • $_SERVER['HTTP_HOST']:当前请求的主机头信息。
  • $_SERVER['HTTP_USER_AGENT']:发送请求的浏览器类型、版本、操作系统等信息。
  • $_SERVER['SERVER_NAME']:当前脚本所在服务器的主机名。
  • $_SERVER['SERVER_PORT']:服务器所使用的端口号。
  • $_SERVER['DOCUMENT_ROOT']:当前运行脚本所在的文档根目录。
  • $_SERVER['SCRIPT_NAME']:当前脚本的路径。
  • $_SERVER['QUERY_STRING']:URL 中 ‘?’ 后面的参数,如果有的话。
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {// 处理 POST 请求$name = $_POST['name'];echo "Hello, " . htmlspecialchars($name);
}
?><form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">Name: <input type="text" name="name"><input type="submit" value="Submit">
</form>

在这个例子中,<form> 元素的 action 属性被设置为 $_SERVER['PHP_SELF'],这样表单数据就会被发送到当前脚本。当表单提交后,脚本会检查 $_SERVER["REQUEST_METHOD"] 是否为 “POST”,如果是,则处理提交的数据。

三、$_REQUEST

$_REQUEST 是一个超全局变量,在 PHP 中用于收集通过 HTTP 请求发送的参数,这些参数可以来自 GET、POST 或 COOKIE 方法。$_REQUEST 数组包含了从客户端发送到当前脚本的所有关联数组。这使得它可以方便地访问通过不同 HTTP 方法发送的数据。

下面是一些关于 $_REQUEST 的示例和解释:

1. 从 GET 请求中获取数据

假设你的 URL 是 http://example.com/test.php?name=John&age=30,你可以在 test.php 中使用 $_REQUEST 来获取这些参数:

<?php
$name = $_REQUEST['name']; // $name 的值是 "John"
$age = $_REQUEST['age'];   // $age 的值是 "30"
echo "Hello, $name! You are $age years old.";
?>

2. 从 POST 请求中获取数据

如果用户通过表单以 POST 方法提交数据,你也可以使用 $_REQUEST 来获取这些数据:

<form method="post" action="test.php">Name: <input type="text" name="name">Age: <input type="text" name="age"><input type="submit" value="Submit">
</form>

然后在 test.php 中:

<?php
$name = $_REQUEST['name'];
$age = $_REQUEST['age'];
echo "Hello, $name! You entered $age as your age.";
?>

3. 注意事项

虽然 $_REQUEST 提供了方便的方式来获取请求参数,但它并不是最佳实践,特别是当涉及到安全性时。因为 $_REQUEST 会从 $_GET$_POST$_COOKIE 中获取数据,这可能导致意外的副作用或安全问题。

  • 安全性$_REQUEST 可能会暴露原本只应通过 POST 方法发送的敏感数据,因为它也会从 $_GET 中获取数据。GET 请求通常会被浏览器、服务器和代理等记录在日志中,因此不适合发送敏感信息。
  • 可预测性:使用 $_POST$_GET 可以更明确地表明你的意图,使得代码更易于理解和维护。
  • 数据验证:不论使用 $_REQUEST 还是其他超全局变量,你都应该始终验证和清理用户输入,以防止潜在的安全漏洞,如 SQL 注入或跨站脚本攻击(XSS)。

因此,除非你有特别的原因需要使用 $_REQUEST,否则最好明确地从 $_GET$_POST$_COOKIE 中获取数据,并始终对用户输入进行验证和清理。

四、$_POST

$_POST 是 PHP 中的一个超全局变量,用于收集通过 HTTP POST 方法发送的表单数据。当用户提交一个 HTML 表单,并且表单的 method 属性设置为 POST 时,表单的数据就会被发送到服务器,然后可以通过 $_POST 数组在 PHP 脚本中访问这些数据。

$_POST 数组中的每个元素都对应着表单中的一个输入字段,数组的键是输入字段的 name 属性值,数组的值是用户输入的数据。

下面是一个简单的示例,展示了如何使用 $_POST 来收集和处理表单数据:

HTML 表单(假设保存为 form.html):

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>POST Form Example</title>
</head>
<body><form action="process_form.php" method="post"><label for="name">Name:</label><input type="text" id="name" name="name" required><br><label for="email">Email:</label><input type="email" id="email" name="email" required><br><input type="submit" value="Submit"></form>
</body>
</html>

PHP 脚本(假设保存为 process_form.php):

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {// 检查是否设置了 name 和 email 字段,并且它们不为空if (isset($_POST['name']) && isset($_POST['email'])) {$name = $_POST['name'];$email = $_POST['email'];// 可以在这里对数据进行处理,比如保存到数据库或者发送电子邮件echo "Name: " . htmlspecialchars($name) . "<br>";echo "Email: " . htmlspecialchars($email);} else {echo "Name and email are required.";}
} else {echo "This page should not be accessed directly.";
}
?>

在这个例子中,当用户填写表单并提交时,数据会被发送到 process_form.php。PHP 脚本首先检查请求的方法是否为 POST,然后检查 $_POST 数组中是否存在 nameemail 键。如果存在并且它们有值,脚本就会处理这些数据(在这个例子中,只是简单地输出它们)。

请注意,使用 htmlspecialchars() 函数是为了防止跨站脚本攻击(XSS)。它可以将特殊字符转换为 HTML 实体,从而避免恶意脚本的执行。

此外,虽然 $_POST 提供了方便的方式来收集表单数据,但始终需要验证和清理用户输入,以防止潜在的安全问题,如 SQL 注入等。在处理用户输入时,应该使用适当的数据验证和过滤技术。

五、$_GET

$_GET 是 PHP 中的一个超全局变量,用于收集通过 HTTP GET 方法发送的表单数据或 URL 中的查询字符串参数。当用户提交一个 HTML 表单,并且表单的 method 属性设置为 GET 时,表单的数据就会附加到 URL 上,然后通过 $_GET 数组在 PHP 脚本中访问这些数据。

$_GET 数组中的每个元素都对应着 URL 中的一个参数,数组的键是参数的名称,数组的值是参数的值。这些参数通常位于 URL 的问号(?)之后,并且每个参数之间用和号(&)分隔。

下面是一个简单的示例,展示了如何使用 $_GET 来收集和处理 URL 中的参数:

HTML 表单(假设保存为 form_get.html):

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>GET Form Example</title>
</head>
<body><form action="process_get.php" method="get"><label for="name">Name:</label><input type="text" id="name" name="name" required><br><input type="submit" value="Submit"></form>
</body>
</html>

PHP 脚本(假设保存为 process_get.php):

<?php
if ($_SERVER["REQUEST_METHOD"] == "GET") {// 检查是否设置了 name 字段if (isset($_GET['name'])) {$name = $_GET['name'];// 可以在这里对数据进行处理,比如保存到数据库或者用于页面显示echo "Hello, " . htmlspecialchars($name) . "!";} else {echo "Name is required.";}
} else {echo "This page should not be accessed directly.";
}
?>

在这个例子中,当用户填写表单并提交时,数据会被附加到 URL 上,并发送到 process_get.php。PHP 脚本首先检查请求的方法是否为 GET,然后检查 $_GET 数组中是否存在 name 键。如果存在,脚本就会处理这个数据(在这个例子中,只是简单地输出一个问候语)。

请注意,由于 GET 请求的数据直接附加在 URL 上,因此它不适合发送敏感信息或大量数据。此外,由于 URL 的长度有限制,因此 GET 请求也可能受到数据大小的限制。

同样地,使用 htmlspecialchars() 函数是为了防止跨站脚本攻击(XSS)。它可以将特殊字符转换为 HTML 实体,从而避免恶意脚本的执行。

在处理通过 $_GET 收集的数据时,始终应该进行验证和清理,以确保数据的安全性和准确性。

六、$_FILES

$_FILES 是 PHP 中的一个超全局变量,用于处理通过 HTTP POST 方法上传的文件。当用户通过表单上传文件时,上传的文件信息会存储在 $_FILES 数组中。这个数组包含了关于上传文件的详细信息,如文件名、文件类型、文件大小以及临时文件路径等。

$_FILES 数组的结构是一个关联数组,其键是表单中 <input type="file"> 标签的 name 属性值。每个文件上传字段都对应一个子数组,该子数组包含以下键:

  • name:上传的文件的原始文件名。
  • type:上传的文件的 MIME 类型。
  • size:上传的文件大小(以字节为单位)。
  • tmp_name:上传的文件的临时文件名,文件被保存在服务器上的临时位置。
  • error:文件上传的错误代码。

下面是一个简单的示例,展示了如何使用 $_FILES 来处理文件上传:

HTML 表单(假设保存为 upload_form.html):

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>File Upload Form</title>
</head>
<body><form action="upload_process.php" method="post" enctype="multipart/form-data"><label for="file">Select a file:</label><input type="file" id="file" name="fileToUpload"><input type="submit" value="Upload"></form>
</body>
</html>

PHP 脚本(假设保存为 upload_process.php):

<?php
$targetDirectory = "uploads/";
$targetFile = $targetDirectory . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($targetFile,PATHINFO_EXTENSION));// 检查文件是否已经存在
if (file_exists($targetFile)) {echo "Sorry, file already exists.";$uploadOk = 0;
}// 检查文件大小
if ($_FILES["fileToUpload"]["size"] > 500000) { // 500KBecho "Sorry, your file is too large.";$uploadOk = 0;
}// 允许特定文件格式
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";$uploadOk = 0;
}// 检查 $uploadOk 是否为 0
if ($uploadOk == 0) {echo "Sorry, your file was not uploaded.";
} else {if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";} else {echo "Sorry, there was an error uploading your file.";}
}
?>

在这个例子中,用户选择一个文件后,点击上传按钮,文件会被发送到 upload_process.php 脚本。脚本首先定义了一个目标目录和一个目标文件名,然后检查文件是否已存在、文件大小是否超过限制以及文件格式是否允许。最后,如果所有检查都通过,脚本会使用 move_uploaded_file() 函数将临时文件移动到目标位置。

处理文件上传时,安全性非常重要。务必验证上传的文件类型、大小以及是否包含潜在的恶意内容。此外,还应该确保目标目录是可写的,并且服务器配置允许文件上传。

七、$_ENV

$_ENV 是 PHP 中的一个超全局变量,用于访问环境变量。环境变量是在操作系统级别设置的变量,它们可以被运行在该操作系统上的所有进程访问。在 PHP 脚本中,$_ENV 数组用于存储这些环境变量的名称和值。

当 PHP 脚本运行时,它会从操作系统获取当前的环境变量,并将它们存储在 $_ENV 数组中。这样,你就可以在 PHP 脚本中通过访问 $_ENV 数组来获取和操作这些环境变量的值。

例如,你可以使用以下代码来访问名为 PATH 的环境变量的值:

if (isset($_ENV['PATH'])) {echo "PATH: " . $_ENV['PATH'];
} else {echo "PATH environment variable is not set.";
}

需要注意的是,不是所有的环境变量都会自动填充到 $_ENV 数组中。这取决于 PHP 的配置和服务器设置。在某些服务器上,为了安全起见,可能会限制或禁用对环境变量的访问。

此外,你也可以在 PHP 配置文件中(通常是 php.ini)设置 variables_order 指令来控制哪些超全局变量(包括 $_ENV)会被注册。例如,将 variables_order 设置为 "EGPCS" 会注册 $_ENV$_GET$_POST$_COOKIE$_SERVER 变量。

如果你发现 $_ENV 数组中没有你期望的环境变量,你可能需要检查你的 PHP 配置和服务器设置,或者考虑使用 getenv() 函数来直接获取环境变量的值。例如:

$path = getenv('PATH');
if ($path) {echo "PATH: " . $path;
} else {echo "PATH environment variable is not set.";
}

getenv() 函数允许你获取单个环境变量的值,而不需要依赖 $_ENV 数组。

八、$_COOKIE

$_COOKIE 是 PHP 中的一个超全局变量,用于收集通过 HTTP Cookie 发送的用户信息。Cookie 是在用户的浏览器上存储的小段数据,通常用于识别用户会话或跟踪用户行为。当浏览器访问网站时,它会自动将相关的 Cookie 发送到服务器,然后 PHP 可以通过 $_COOKIE 数组来访问这些 Cookie 的值。

当用户首次访问网站时,服务器可能会设置一个或多个 Cookie,并在后续的请求中,浏览器会自动将这些 Cookie 发送回服务器。PHP 脚本可以使用 $_COOKIE 数组来读取这些值,并根据需要进行处理。

下面是一个简单的示例,展示了如何设置和读取 Cookie:

设置 Cookie(假设保存为 set_cookie.php):

<?php
// 设置一个名为 "username" 的 Cookie,值为 "JohnDoe"
setcookie("username", "JohnDoe", time() + (86400 * 30), "/"); // 有效期为 30 天
?>

读取 Cookie(假设保存为 read_cookie.php):

<?php
// 检查 "username" Cookie 是否设置
if(isset($_COOKIE["username"])) {echo "Welcome, " . $_COOKIE["username"] . "!";
} else {echo "Welcome, Guest!";
}
?>

在这个例子中,setcookie() 函数用于设置 Cookie。它接受至少三个参数:Cookie 的名称、Cookie 的值以及 Cookie 的过期时间(以 Unix 时间戳表示)。可选的第四个参数是 Cookie 的路径,它定义了哪些页面可以接收这个 Cookie。在这个例子中,我们设置了路径为 "/",这意味着该 Cookie 对整个网站都有效。

然后,在 read_cookie.php 脚本中,我们使用 isset() 函数来检查 $_COOKIE 数组中是否存在名为 “username” 的键。如果存在,我们就输出欢迎信息,并将用户名显示为 Cookie 的值。如果不存在,我们输出默认的欢迎信息。

由于安全原因,不应该在 Cookie 中存储敏感信息,如密码或私钥。此外,由于 Cookie 存储在用户的浏览器上,因此它们的大小和内容都受到浏览器和 HTTP 规范的限制。

九、$_SESSION

$_SESSION 是 PHP 中的一个超全局变量,用于在用户会话期间跟踪和存储信息。当 PHP 脚本以会话的方式运行时,可以使用 $_SESSION 变量在用户的不同页面请求之间保存和传递数据。

要使用 $_SESSION,你需要先启动一个会话,这通常是通过调用 session_start() 函数来完成的。一旦会话启动,你就可以向 $_SESSION 数组中添加数据,然后在后续的页面请求中访问这些数据。

下面是一个简单的示例,展示了如何使用 $_SESSION 来存储和读取用户数据:

<?php
// 启动会话
session_start();// 存储数据到 $_SESSION
$_SESSION["username"] = "JohnDoe";// 可以在同一页面或后续页面读取数据
if(isset($_SESSION["username"])) {echo "Welcome, " . $_SESSION["username"] . "!";
} else {echo "Welcome, Guest!";
}// 结束会话(可选,PHP 脚本结束时会自动结束)
session_write_close();
?>

在这个例子中,我们首先调用 session_start() 来启动会话。然后,我们将用户名 “JohnDoe” 存储在 $_SESSION["username"] 中。在后续的代码中,我们可以检查 $_SESSION["username"] 是否设置,并据此输出不同的欢迎信息。

会话数据存储在服务器上,并且与特定的用户会话相关联。每个用户会话都有一个唯一的会话 ID,该 ID 通常通过 Cookie 发送到用户的浏览器,以便在后续的请求中识别用户会话。这意味着,即使用户关闭了浏览器窗口或重启了计算机,只要 Cookie 仍然有效,会话数据就会保留在服务器上,并在用户下次访问时可用。

为了安全起见,你应该确保会话 ID 是通过安全的连接(如 HTTPS)传输的,以防止会话劫持攻击。此外,你还应该定期清理旧的会话数据,以避免会话固定攻击和占用过多的服务器资源。这通常通过设置会话的过期时间和定期清理会话存储来实现。

十、相关链接

  1. php官网
  2. php_Github
  3. PHP实现Token
  4. 「PHP系列」PHP简介与起步
  5. 「PHP系列」PHP语法介绍
  6. 「PHP系列」PHP变量
  7. 「PHP系列」PHP echo/print语句、数据类型详解
  8. 「PHP系列」PHP 常量/字符串、类型比较
  9. 「PHP系列」PHP 运算符详解
  10. 「PHP系列」If…Else语句/switch语句
  11. 「PHP系列」数组详解
  12. 「PHP系列」PHP数组排序及运用场景

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python UTF-8解码及脚本头的标注

在Python中,如果你需要将编码为UTF-8的字节串解码为Unicode字符串,你可以使用内置的str类型的decode方法,或者使用bytes.decode()方法。但通常情况下,如果你已经在Python 3中处理字符串,你可以直接将字节串(类型bytes)转换为字符串(类型str)。 例如: python # 假设…

S32K324 数据初始化Rom到Ram Copy的方式

文章目录 前言基础知识ld文件中的段定义ld文件中的符号定义 ld定义copy地址范围启动文件中的定义Copy的使用总结 前言 之前一直不理解在ld文件中加__xxx_ram_start,__xxx_rom_start,__xxx_rom_end这些的作用&#xff0c;也不清楚原理。前几天遇到一个内存copy的问题&#xff0…

从入门到放弃:Docker基础教程

一、引言 1. 什么是Docker Docker是一种用于开发、交付和运行应用程序的平台。它通过将应用程序打包成一个可以轻松部署的容器来实现隔离&#xff0c;从而简化了应用程序部署的流程。 2. Docker能解决什么问题 传统的应用程序部署和管理方式往往存在着各种问题&#xff0c;…

HarmonyOS时区和语言设置-使用相关api实现系统语言和地区设置

介绍 本示例展示了i18n&#xff0c;intl&#xff0c;resourceManager在eTS中的使用&#xff0c;使用相关api实现系统语言和地区设置、时间和时区设置&#xff0c;展示了区域格式化示例。 效果预览 使用说明 1.启动应用&#xff0c;进入应用&#xff0c;首页分为三个按钮&…

【JVM】GC导致的性能问题排查与解决方案,日志、堆分析工具介绍

一、必要性 重要应用程序在使用过程中&#xff0c;忽然无法响应用户请求&#xff0c;排查发现网络联通无问题&#xff0c;gateway能够正常接收分发请求&#xff0c;应用进程正常&#xff0c;正常向注册中心发送请求&#xff0c;但是接收http请求全部返回报错。 添加gc后发现内…

C#项目引用解决方案中其他项目dll时,出现黄色感叹号的解决方案

问题引入 今天拿着老师傅的老项目&#xff0c;需要做通讯调试&#xff0c;说测试一下&#xff0c;便添加了一个项目A来编写结构体&#xff0c;然后在窗体程序项目B中引用A&#xff0c;发现B一引用A&#xff0c;在B项目的引用下面A就多了个黄色感叹号&#xff0c;一编译B项目&am…

网工内推 | 上市公司网工,最高30K,思科认证优先,多次晋升机会

01 牧原股份 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、负责公司及下属子公司办公网络及IOT网络架构规划、设计、重大网络变更评审或实施及重大疑难问题处理&#xff1b; 2、负责公司网络运维监控体系、自动化网络运维及服务体系&#xff0c;并持续优化改进&am…

20240408在全志H3平台的Nano Pi NEO CORE开发板的eMMC刷Ubuntu Core 16.04

20240408在全志H3平台的Nano Pi NEO CORE开发板的eMMC刷Ubuntu Core 16.04 2024/4/8 20:46 参考资料&#xff1a; https://wiki.friendlyelec.com/wiki/index.php/NanoPi_NEO_Core/zh#.E5.AE.89.E8.A3.85.E7.B3.BB.E7.BB.9F [ OK ] Created slice Slice /system/getty. [ …

arm 的CoreLink 是什么?

ARM的CoreLink是一套由ARM公司开发的系统互连IP解决方案&#xff0c;旨在为片上系统&#xff08;SoC&#xff09;提供高性能和高效率的互连架构。CoreLink系列包括多种技术和组件&#xff0c;每个都针对特定的系统设计需求进行了优化。以下是CoreLink系列的一些关键组件及其使用…

代码随想录Day48

Day 48 动态规划part09 今日任务 198.打家劫舍213.打家劫舍II337.打家劫舍III 代码实现 基础打家劫舍 class Solution {public static int rob(int[] nums) {if (nums null || nums.length 0) return 0;if (nums.length 1) return nums[0];int[] dp new int[nums.leng…

获取淘宝销量API商品详情页原数据APP接口:测试key获取(含测试链接)

淘宝/天猫获得淘宝app商品详情原数据 API 返回值说明 item_get_app-获得淘宝app商品详情原数据 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地…

注入类型(一)

一、整数类型 1 and 11 # 1 or 11 -- 二、字符串类型 1 and 11 -- 1 and 11 # 三、搜素类型 搜索型注入&#xff0c;需要额外的考虑后面的问题 总结&#xff1a; 前闭合 " ) ") % %" 无 后闭合 " ( (" % …

百度松果菁英班——机器学习实践五:明星图片爬取

飞桨AI Studio星河社区-人工智能学习与实训社区 &#x1f96a;图片爬取 import requests import os import urllib ​ class GetImage():def __init__(self,keyword大雁,paginator1):# self.url: 链接头self.url http://image.baidu.com/search/acjson?self.headers {User…

Linux安装并配置Miniconda

miniconda官方文档&#xff1a; Miniconda — Anaconda 文档 官方文档中有讲到怎么安装Miniconda&#xff0c;如下&#xff1a; 以下是我得出的经验&#xff1a; 1. 新建新目录并下载和安装miniconda&#xff08;安装过程中&#xff0c;当提示是否继续时&#xff0c;一直按回…

蓝桥杯22年javaB组省赛真题

22年java_b组题目解析 写该博客既是为了分享题目解法&#xff0c;也是对之前写的题复习&#xff0c;毕竟已经24年了&#xff0c;写22年的题解 233&#x1f92d; 文章目录 22年java_b组题目解析A.星期计算(填空题)B.山&#xff08;填空题&#xff09;C.字符统计&#xff08;编…

day75 js 正则表达式 window对象轮播图片调用定时器

一 正则表达式: RegExp 对象: 对字符串执行模式匹配的强大工具。 1 创建正则表达式对象 let reg /模式/修饰符 修饰符 attributes 是一个可选的字符串&#xff0c;包含属性 "g"、"i" 和 "m"&#xff0c; …

Azure的VFP和虚拟IP地址

Azure 的Virtual filtering platform (VFP) 是Azure 网络地址转换,端口转换和端口分配的基础。 下面我们来深入介绍一下VFP的工作方式。 VFP的出站动作。 对于客户端地址作为虚拟IP的出站目的地址的时候,VFP 驱动会负责做以下两个动作。 源地址转换。端口地址转换。VFP 和 S…

20240325-1-HMM

HMM 直观理解 马尔可夫链&#xff08;英语&#xff1a;Markov chain&#xff09;&#xff0c;又称离散时间马尔可夫链&#xff08;discrete-time Markov chain&#xff0c;缩写为DTMC&#xff09;&#xff0c;因俄国数学家安德烈马尔可夫&#xff08;俄语&#xff1a;Андре…

【C++进阶】用哈希实现unordered_set和unordered_map的模拟

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 前言&#xff1a; 之前我…

H5移动端 Vue3 + vue-virtual-scroller 实现长列表性能优化

文章目录 安装 vue-virtual-scroller引入&#x1f4e2;注意事项使用基础使用上拉加载下拉刷新 移动端在渲染长列表时 大量dom节点的渲染和重绘重排会导致页面卡顿、滚动不流畅、设备耗电加快、影响移动设备电池寿命等性能问题 这里分享使用【虚拟滚动】方案进行长列表优化&…