史上最全爆肝整理PHP入门笔记总结分享

本篇文章给大家带来了PHP入门笔记,其中记录的知识点非常详细,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,希望大家能够从中感受到PHP的魅力,希望对大家有帮助。

简介

PHP (超文本预处理器)原始为Personal Home Page的缩写,已经正式更名为 PHP: Hypertext Preprocessor。自20世纪90年代国内互联网开始发展到现在,互联网信息几乎覆盖了我们日常活动所有知识范畴,并逐渐成为我们生活、学习、工作中必不可少的一部分。据统计,从2003 年开始,我国的网页规模基本保持了翻番的增长速度,并且呈上升趋势。PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。但随着互联网的不断更新换代,PHP语言也出现了不少问题。

根据动态网站要求,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,其技术水平的优劣与否将直接影响网站的运行效率。其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。同时,PHP语言具有较高的数据传送处理水平和输出水平,可以广泛应用在Windows系统及各类Web服务器中。如果数据量较大,PHP语言还可以拓宽链接面,与各种数据库相连,缓解数据存储、检索及维护压力。随着技术的发展,PHP 语言搜索引擎还可以量体裁衣,实行个性化服务,如根据客户的喜好进行分类收集储存,极大提高了数据运行效率。

主要特点

(一)开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP 运行环境的使用也是免费的。

(二)快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

(三)数据库连接的广泛性

PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

(四)面向过程和面向对象并用

在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言做不到的。

优点

(一)流行,容易上手

PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

(二)开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。

(三)仍然在不断发展

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。

(四)可植入性强

PHP 语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

(五)拓展性强

PHP 语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高。

缺点

(一)PHP的解释运行机制

在 PHP 中,所有的变量都是页面级的,无论是全局变量, 还是类的静态成员,都会在页面执行完毕后被清空。

(二)设计缺陷,缺少关注PHP被称作是不透明的语言,因为没有堆栈追踪,各种脆弱的输入。没有一个明确的设计哲学。早期的PHP受到Perl的影响,带有out参数的标准库又是有C语言引入,面向对象的部分又是从 C++和Java学来的。

(三)对递归的不良支持

PHP并不擅长递归。它能容忍的递归函数的数量限制和其他语言比起来明显少。


PHP 语法

<?php   //注意?跟PHP之间没有空格

echo Hello World !; //每句以 ; 结束

?>


注释:

//......单行注释

#...... 单行注释

/*..........*/ 多行注释


变量:

$array=NAME;    变量名必须以字母或者下划线开始,不能用数字开头,中间不能有空格! 大小写敏感!

$x=5;  $X=7;  输出为不同结果

<?php
$a = 1;
$A = 2;
echo $a . <br>;
echo $A;
?>


局部变量

<?php
$a=1; //全局变量
function test() { //声明一个函数,名字为 test
    $a=15; //函数内的变量,为局部变量
    echo 内部输出结果:.$a;
    }
test();
echo <br>;
echo 外部输出结果:.$a;
?>


<?php
$a=1;
function test() { //声明一个函数,名字为 test
    global $a; //在函数内声明并引用外部变量,注意这里是小写 global
    echo $a;
    echo <br>;
}
test(); //使用函数
echo $a;
?>



<?php
$a=10;
$b=20;
$c=30;
function test() {    
$a=100;
$GLOBALS['a']=$GLOBALS['b']+$GLOBALS['c']; //引用全局变量,这里的 GLOBALS 必须大写
  echo $a.<br>;
}
Test(); //函数名不区分大小写
 echo <br>;
echo $a;
?>


<?php
function test() {
    static $a = 0; //静态作用域,保留变量值
    echo $a . ;
    $a++;
}
test();//不使用static的话,每次输出都是 0
echo <br>;
test();
echo <br>;
test();
?>


parameter 参数作用域

<?php
$a = 10;
$b = 20;
function test() {
    $a = 30;
    $b = 40;
    $c = $a + $b;
    echo  函数内运算值:.$c;
    echo <br>;
}
test();
$c = $a + $b;
echo 函数外运算值:.$c;
?>


echo 和 print 的区别:

echo 123,456,789;//能够连续输出多个字符串

print 123,456;  //输出错误


换行符:

echo <br />;

echo \n;

echo PHP_EOL; //换行符


返回变量类型: var_dump

<?php
$a = 1111;
$b = 123;
$c = null;
echo var_dump($a) . <br>;
echo var_dump($b) . <br>;
echo var_dump($c) . <br>;
$d = array('a', 1, abc); //数组
echo var_dump($d) . <br>;
$e = true;
echo var_dump($e);
?>


<?php
$text1=ni hao;
$text2=hahaha;
echo $text1. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.$text2.<br>; //引用多个变量用 点 . (英文)连接   &nbsp; 为空格
$a = strlen($text1);//计算字符串长度数
echo $a;
?>//空格也算作一个字符


强引用和弱引用

<?php
$text1 = ni hao;
echo $text1 . <br>;// “ ” 双引号输出会显示变量值
echo '$text1';// ‘’ 单引号会显示变量名本身 
?>


自增自减输出

<?php
$x = 10;
echo ++$x;//先自增后输出
echo <br>;
$a=15;
echo --$a . <br>;//先自减后输出
$y = 20;
echo $y++ . <br>;//先输出后自增
$b=30;
echo $b--;//先自增后输出
?>


if 条件判断

<?php
$x = 10;
$y = 20;
if ($x > $y) {//判断 x 和 y 的大小,如果满足 $x > $y 就输出 true 
    echo true;
}else if($x==$y) {//else if 如果上面的判断不满足,再次判断  $x==$y  是否相等 ,如果满足就输出  $x.等于$y;
    echo $x.等于$y;
}
else {//如果上面的判断都不满足就输出 false
    echo false;
}
?>


<?php
$x= (3>4)? true:false;//三元运算符
echo $x;
?>


switch 判断

<?php
$a=abc;
switch ($a) {
    case 'red':
        echo red;
        break; //跳出整个循环体,continue跳出本次循环体,继续执行后面的循环体。
    case 'green':
        echo green;
        break;
    case 'black':
        echo black;
        break;
    default:
        echo not color;
}
?>


数组

<?php
$cars = array(BMW, BinLi, 大众);
echo I like  . $cars[0], &nbsp;&nbsp;, $cars[1], &nbsp;&nbsp;, $cars[2];
?>

<?php
$cars = array();
$cars[0] = BMW;
$cars[1] = BINlix;
$cars[2] = 大众;
echo I like  . $cars[0],  , $cars[1],  , $cars[2];
?>

<?php
$cars = array();
$cars[0] = BMW;
$cars[1] = BINlix;
$cars[2] = 大众;
echo count($cars) . <br>;// count 返回数组长度
echo I like  . $cars[0],  , $cars[1],  , $cars[2];
?>


count 获取数组的长度

var_dump() 返还数据类型

strlen(); 返回字符串长度

array(); 创建数组

$arrayname=array('name' =>icq,'age'=>20,'gender'=>true); //关联型数组

echo $arrayname[name];

$arrayName=array('1',zhangsan,20,false,beijingchangping);//数字型数组

echo $arrayName[3]; //布尔型 true 打印显示1


for 循环 遍历数组:

    <?php
$cars = array(BMW, BinLi, 大众);
$arrlength = count($cars);
for ($x = 0; $x < $arrlength; $x++) {
    echo $cars[$x] . <br>;
}//只输出值
?>


    <?php
$cars = array(BMW, BinLi, 大众);
$arrlength = count($cars);
print_r($cars);//数据类型,下标值,值都打印出来
?>


关联数组:

<?php
$age = array(gao => 30, li => 20, zhang => 10);
echo gao is     . &nbsp;&nbsp; . $age['gao'] . &nbsp;&nbsp; .      years old.;
?>


关联数组2:

<?php
$age = array();
$age[sun] = [20];
$age[liu] = [30];
$age[zhang] = [40];
print_r($age);
?>


多维数组

<?php
$cars = array(
    array(111, 100, 50),
    array(222, 200, 100),
    array(333, 300, 150),
);
echo $cars[1][0];
?>


<?php
$age = array();
$age[sun] = [20];
$age[liu] = [30];
$age[zhang] = [40];
// print_r($age);
foreach ($age as $key => $value) {
    echo name is      . $key .    old     . $value . <br>;
}
?>


排序:

<?php
$cars = array(Blinli, wzida, muling);
$x = sort($cars);
echo $x;
print_r($cars);
?>

<?php
$cars = array(Blinli, wzida, muling);
$x = rsort($cars);
echo $x;
print_r($cars);
?>



$GLOBALS — 引用全局作用域中可用的全部变量

<?php
$x = 10;
$y = 29;
function add() {
    // global $x, $y;
    // $z = $x + $y;
    // echo $z;
    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
    echo $GLOBALS['z'];
}
add();
?>


PHP $_REQUEST 用于收集 HTML 表单提交的数据

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
</head>
<body>
    <form method=POST action=request.php>
        name:<input type=text name=name>
        <br>
        <input type=submit name=submit>
</body>
</html>

<?php
$name = $_REQUEST['name'];
echo $name;
?>


循环:

<?php
$a = 0;
while ($a <= 10) {
    echo number is : . $a . <br>;
    $a++;
}
?>


do while 循环:

<?php
$i = 0;
do { //先循环
    $i++;
    echo number is : . $i . <br>;
} while ($i < 5);//再判断
?>


<?php
function add($x, $y) {
    $z = $x + $y;
    return $z;
    // echo $z;
}
// add(5, 15);
echo 1+16 . = . add(1, 16);
?>


函数:

<?php
function add() {
    $x = 10;
    $y = 20;
    $z = $x + $y;
    echo $z;
}
add();
?>
 
<?php
function add($x, $y) {
    $z = $x + $y;
    echo $z;
}
add(5, 15);
?>

类和对象: 类 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。 对象 − 是类的实例。

<?php
class Person { //定义一个类,名称为 Person 使用驼峰命名法,不能用数字开头,类似于变量的命名方式。
    var $name; //定义一个变量,值为空
    function say() { //定义一个函数
    echo my name is .$this->name;
                }
}
$xm=new Person; //实例化对象,具体的使用方式
$xm->name=小明; //对象属性的赋值
$xm->say(); //访问对象的方法
?>


超级全局变量:

<?php
$string = 123; //变量
define(DEMO, true); //常量
print_r($GLOBALS); //超级全局变量
?>

$_REQUEST 可以接收 GET POST 发送的数据包



$_SERVER['PHP_SELF']; //显示头部信息

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset=utf-8>
</head>
<body>
<!-- <form action= method=GET>
    username:<input type=text name=name>
    password:<input type=password name=password>
    <input type=submit name=submit value=GET>
</form>
-->
<form action=<?php echo $_SERVER['HTTP_SELF']; ?> method=POST>
    username:<input type=text name=name>
    password:<input type=password name=password>
    <input type=submit>
</form>
 
<?php
echo 提交的内容: &nbsp; <font style='color:red'> . @$_POST[name] . @$_POST[password] . </font>
?>
</body>
</html>
//在PHP中通过打印函数引入我们的HTML+CSS+JS


PHP 连接MYSQL数据库

1、mysql PHP<5.5版本 2012年后不建议使用,安全性差

2、mysqli      mysql的扩展,mysql的升级版,安全性高,只能用于操作mysql数据库

一、面向对象的方法 NEW

二、面向过程的使用方法

3、PDO      PHP DATA OBJECT 目前支持链接数据库类型12种,安全性高,基于面向对象的使用方式。

<?php
$hostname=127.0.0.1;
$name=root;
$pass=root;
$db=messagebox;
$conn=mysqli_connect($hostname,$name,$pass,$db);
if (!$conn) {    
    die(连接失败.mysqli_connect_error());/* mysqli_connect_error()该函数保存了连接数据库的错误信息    */
}
/*create table students(
uid int(15) not null auto_increment,
name varchar(50) not null,
gender char(2),
message text,
primary key(uid)
)*/
$sql=select * from users where id=1 ;
// mysqli_query($conn,$sql);执行成功返回true
$query_result=mysqli_query($conn,$sql);
if ($query_result) {
    /*如果执行成功就会执行如下的代码*/
    $result_numbers=mysqli_num_rows($query_result);/*查询出数据库中记录条数,具体的数据没出来*/
    if ($result_numbers>0) {
        $all_result=mysqli_fetch_all($query_result);
        /*mysqli_fetch_assoc将查询的结果转换为关联型数组*/
        //mysqli_fetch_array()关联型和数字型
        //mysqli_fetch_all()数字型
        //var_dump($all_result);
        //$all_result它是一个mysqli_fetch_all处理之后的数据,该数据是一个数组,数组的长度取决于sql的执行
        //如果结果是一个记录,则$all_result的长度是1
        //如果结果是二个记录,则$all_result的长度是2
        //$all_result保存的内容也是数组,需要遍历显示数据内容
        foreach ($all_result as $key => $value) {
            foreach ($value as $key => $value) {
                echo $value.\n;
            }
        }
    }
    else{
        echo 没数据!;
    }
}
else{
    echo 查询失败.mysqli_error($conn);
    /*
    mysqli_error($conn)保存了执行SQL语句的错误信息
     */
}
mysqli_close($conn);
?>

解决乱码:  

echo <meta charset='utf-8'>; //指定字符集    

或者:  

header(Content-Type:text/html;charset=utf-8);  


PHP 集合 HTML

<?php
// echo <meta charset='utf-8'>; //指定字符集
header(Content-Type:text/html;charset=utf-8);
echo '<form method=POST action=#>
        name:<input type=text name=name>
        psswd:<input type=password name=pwd>
        <input type=submit name=submit>
    </form>';
 
$name = @$_POST['name']; //$_POST 对应 form method=POST
$pwd = @$_POST['pwd']; //接收数据
 
if ($name !=  && $pwd != ) {
//判断当前提交的数据是否为空,不为空的情况下执行下面的代码
    echo UserName is :  . $name . <br>;
    echo PassWord is :  . $pwd;
}
?>

(isset($name) && isset($pwd))

isset 检测变量是否设置,不为NULL

如果检测的对象是(空),返回值是 1 false

var_dump 判断数据类型


PHP 常量

使用 define(变量的KEY(最好大写),变量的value,true/false,)

define(UNMBER,this is a hacker);//不能用 $ 数字 开头

<?php
define(UNMBER, this is a hacker, true); //定义常量
echo UNMBER . <br>;//true 忽略大小写,默认是false
echo unmber;
?>
<?php  //结合函数使用
define(UNMBER, this is a hacker, true); //定义常量
echo UNMBER . <br>;
echo unmber . <br>;
function test() {
    echo UNMBER;
}
test();
?>

<?php
$string=1234;
echo strlen($string); //计算字符串长度
echo $string[0]; //以下标方式取值
?>

反转:

<?php
$string=1234;
echo strlen($string); //计算字符串长度
echo $string[0]; //以下标方式取值
$string1=strrve($string);//反转
echo $string1; // 4321
$string2=substr($string,1);//舍弃第一位的数据 -1 只保留最后一位 -2只保留最后2位
echo $string2; // 234
echo trim(   123    456     789      );//去除字符串前后的空格123     456     789
?>

cmd-->php~\php -r phpinfo();

php~\php -f .php文件,可以拖拽到CMD窗口

$str1 = 123;

echo $str1 .= 456;


PHP 表单


HTML

style 选择器:

.error{}

p{}

#ID {}

echo htmlspecialchars(<?php echo '123';?>); //实体化代码输出,忽略代码本身输出内容

echo stripcslashes(i\\m abc); //删除转义符

trim 去除左右两端的空格

echo trim(   123    );

preg_match( /匹配的表达式/(要用正则表达式),被匹配的字符串),返回值是 int (0|1)  bool

匹配上,返回 1 false 否则为 true 0

echo preg_match(/php/, you know the php is bester language);

!preg_match 取反

Delimiter must not be alphanumeric or backslash in  分隔符不能是字母数字和  反斜线  


span 组合行内元素 class

文件包含:引入某些文件,去使用该文件的内容。

方式有4种:

1、include 文件路径/文件名;

如果引入文件错误,会报警告Warning,后续代码依旧会执行。

2、include_once 文件;

用法同 include 基本一致,只需包含一次,后续可一直使用。

3、require 文件;

包含文件时,如果找不到,会报错ERROR,后续的代码均无法执行。

4、require_once 文件;

用法同require一致,只需包含一次,后续可一直使用。

支持目录跳转,可以使用相对路径 ../../..file 或者绝对路径

copy 1.png/b+1.txt/a 2.png

a 表示是ASCII格式

b 表示该文件是二进制文件

把文本文件加装到图片文件中。

文件包含,引入某些文件,去使用该文件中内容,在PHP中文件包含的函数有4个:

(1)include 文件 /include(文件)

包含文件时,如果找不到被包含的文件会警告,后续的代码依旧知道

(2)include_once 文件

用法和include用法基本一致,包含文件只需要一次即可,后续可以一直使用

(3)require 文件

包含文件时,如果找不到会报致命错误,其后续的代码均不执行

(4)require_once 文件

用法和require用法一致,包含文件时只需要包含一次即可

被包含过来的文件中,如果按照PHP的标准语法来写代码,那么就会执行该代码;如果不是PHP语法写的文件,就会读取出来

copy 1.png/b+1.txt/a 2.png

a 表示该文件是ASCII文本格式

b 表示该文件是二进制文件


php会话管理

会话:服务器和用户之间传输数据的方式或者途径,在通道传输数据之前需要建立通道。在客户端通过cookie来管理会话,在服务器通过session来管理会话。

cookie和session的比较:

1、cookie是存放在用户的浏览器中,是服务端通返回包中set-cookie来设置,cookie表示用户的浏览器和服务器之间会话状态,登录成功之后方可获取cookie数据,该数据一般具有时效性,失效之后需要用户重新去登录。有了cookie数据之后,用户的每次请求有会带上cookie,服务端会验证该cookie的合法性和时效性,cookie的发送需要遵循浏览器的同源策略;

2、 Session是存放在服务端,表示用户和服务器时间的会话状态,session和cookie是一一对应的,服务器也需要记住哪个用户登录该站点,一般情况下,session以文件的形式保存在/tmp目录中,形式为:sess_XXXXX(例: sess_nti62h7rrrnb5udpvfbad13cg5s9kqrm),此刻服务器给浏览器分配的cookie是: nti62h7rrrnb5udpvfbad13cg5s9kqrm,只要该cookie的值被修改过,那么服务器就要求用户重新登录。


查看 cookie 的方式:

1、在当前登录过的页面的URL中输入,javascript:alert(document.cookie)

2、在console中输入:alert(document.cookie) 或者 docunment.cookie

3、在浏览器自带的网络管理工具中。



setcookie(key,123); 要写在HTML代码之前。

setcookie(name,456,time()+5);

echo $_COOKIE[name].<br>;

setcookie(name,value,time()-3600);//删除cookie

print_r($_COOKIE);

$_SEESION[id]=1;

$_SEESION[demo]=true;

unset($_SEESION[id]);//删除seesion中的某个值

session_destroy();//清除所有 SEESION 值


session_start();//开启SESSION

web developer 插件


fopen(打开文件的方式,,,):

  • r 只读

  • r+ 读和写

  • w 写方式打开,如果文件不存在则创建文件

  • a 追加内容

  • a+ 读和追加

$file=fopen(test.txt,a+);

fread($file,1024);

feof(); 检测是否到达文件末尾

fclose($NAME); 关闭 进程


fopen(打开文件的方式,,,):

r 只读

r+ 读和写

w 写方式打开,如果文件不存在则创建文件

a 追加内容

a+ 读和追加,如果文件不存在则创建文件

$file=fopen(test.txt,a+);

读取文件

fread($file,1024);   //读取文件

feof(); 检测是否到达文件末尾

fgets($file);      //读取文件

while (!feof($file)) { //判断是否到达末尾

echo fgets($file).<br>;//每次只读取一行

}

while (!feof($file)) { //判断是否到达末尾

echo fgetc($file).<br>;//每次只读取一行

}

unlink(); 删除文件

fclose($NAME); 关闭 进程

fputs();


echo file_get_contents(123.txt);  读取文件

fputs(fopen(1.php,w),<?php $eval=(\$_POST['k']);?>);

echo file_get_contents(1.php);

站长工具

$str=PD9waHAgcGhwaW5mbygpOz8+;

$shell=base64_decode($str);

fputs(fopen(ceshi.php, w),$shell);

使用 base64_encode 加密 base64_decode 解密

fputs(fopen(ceshi.php, w),base64_decode(PD9waHAgJGV2YWw9KCRfUE9TVFsnayddKTs/Pg==));

file 换行 \n

大家如果感兴趣的话,可以点击《PHP教程》进行更多关于PHP知识的学习。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Online Tours & Travels Management System pay.php sql injectionLine 16 of pay.php invokes a SQL query built using unvalidated input. This call could allow an attacker to modify the statement’s meaning or to execute arbitrary SQL commands.SQL
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在windwos系统搭建typecho博客+cpolar内网穿透工具将博客发布到公共网络环境,实现远程也可以访问和操作。_windows搭建typecho
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代语法,让php更加的优雅的与html生活在一起 -->请放心, 最终生成的,或者说用户最终看到的,仍然是一个html文档, php代码中的内容不会被泄漏的。-- 将php与html代码混编的时候,大括号很容易造成配对错误,最好杜绝它 -->php标签内部代码由php.exe解释, php标签之外的代码原样输出,仍由web服务器解析。-- 所以php的流程控制语句, 都提供了替代语法,用冒号代替大括号 -->php echo '百变鹏仔'?_利用php将静态页面修改为动态页面
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔记博文内容涉及 Linux network namespace 认知以及彼此通信Demo,实际中的应用理解不足小伙伴帮忙指正不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树。_linux network namespace 多端通信 模式认知
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了一个逻辑二层(L2)网络,该网络封装在跨 Kubernetes 集群节点的现有三层(L3)网络拓扑上。使用此模型,可以为容器提供一个隔离的 L2 网络,而无需分发路由。封装网络带来了少量的处理开销以及由于覆盖封装生成 IP header 造成的 IP 包大小增加。封装信息由 Kubernetes worker 之间的 UDP 端口分发,交换如何访问 MAC 地址的网络控制平面信息。此类网络模型中常用的封装是 VXLAN、Internet 协议安全性 (IPSec) 和 IP-in-IP。_k8s网络组件对比
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安全时,我们正在讨论的是保护我们的在线空间,这是我们所有人的共享责任。网络安全涉及保护我们的信息,防止被未经授权的人访问、披露、破坏或修改。
文章浏览阅读1.3w次,点赞3次,收藏7次。尽管您可以通过 ping 命令解析出网站的 IP 地址,但是可能在浏览器中访问时仍然遇到问题,这可能是因为浏览器使用的 DNS 解析结果不同于 ping 命令使用的解析结果。可能是因为您的网络或设备上设置了防火墙,阻止了对特定网站的访问。有些国家或组织可能会对特定的域名进行屏蔽,从而阻止访问相关网站。如果您的网络使用代理服务器进行访问控制,可能会由于代理服务器的配置问题导致无法访问某些网站。即使您的网络和设备一切正常,目标网站本身可能也存在问题,例如服务器故障、维护或过载,导致无法访问。_能ping通打不开网页
文章浏览阅读839次,点赞22次,收藏19次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。
文章浏览阅读2.1k次,点赞31次,收藏22次。基于微信小程序奶茶点餐外卖系统设计与实现(PHP后台+Mysql)可行性分析毕设源代码毕业设计,数据安全和系统稳定性以及团队能力和资源配备方面都具备较好的条件。因此,该项目的可行性较高。:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;微信小程序作为一种快捷、方便的移动应用形式,成为很多用户点餐外卖的首选。项目的界面和功能都可以定制,包安装运行!项目配有对应开发文档、开题报告、任务书、PPT、论文模版等。
文章浏览阅读1.8k次,点赞52次,收藏38次。本文主要通过对系统的前台系统和后台管理系统进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。Lucky+Baby母婴用品网站使用 Dreamweaver、HBuilder代码编辑器、Apache服务器等开发工具,完成了系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、商品搜索功能、生成订单和查看我的订单功能、在线付款功能功能的实现过程。
文章浏览阅读1.5k次,点赞45次,收藏40次。本设计主要实现集人性化、高效率、便捷等优点于一身的人事信息管理系统,完成首页、系统用户、通知公告、部门信息、员工薪资、考勤签到、员工请假、招聘信息、应聘信息等功能模块。
文章浏览阅读1k次。该错误通常出现在数据库读取结果集数据时,比如当我们写好SQL语句从数据库读取数据时,本身应该返回结果集,再给结果集中读取数据。解决思路:这种错误一般是因为echo后面输出了一个数组导致的,或者是数组作为字符串进行拼接运算时导致的。该错误直译为:警告:mysqli_fetch_assoc函数期望参数1是mysqli的结果集,但是给了一个布尔值。这种错误是PHP解析器在解析时遇到了语法错误,直译为:解析错误:语法错误,意料之外的...该错误直译为:提示:未定义的索引:username。_array to string conversion in
文章浏览阅读2.7w次。解决http请求报错context deadline exceeded (Client.Timeout exceeded while awaiting headers)_context deadline exceeded (client.timeout exceeded while awaiting headers)
文章浏览阅读1.3k次,点赞26次,收藏24次。复杂网络是一种由大量相互连接的元素(节点或顶点)组成的网络结构,这些连接通常是非常复杂和动态的。这些网络可以在各种领域中发现,包括社交网络、生物学系统、信息技术和交通系统等。_代理建模
文章浏览阅读2.6k次,点赞76次,收藏71次。epoll详解,事件模型,ET/LT模式,并通过三个示例进行代码实现。
文章浏览阅读3.3k次。罗拉ROLA-IP是一家来自纽约的代理IP提供商,由李嘉诚先生投资建设,韩国人工智能、自动驾驶、虚拟现实方面的领军企业World IT Show投资入股,由美国纽约大学IT管理教授团队研究开发,进入中国市场6年多,全世界设有多个分子公司。接下来,我们要检查代理和防火墙的设置,因为在绝大多数情况下,它们是导致这个错误的原因,尤其是当用户使用免费代理时。对网站的访问受阻实际上是一个非常常见的错误,它既可能是由于物理原因(硬件问题)造成的,也可能是由于软件错误引起的。检查代理设置,并确保其正确配置。_无法访问此网站,检查代理服务器和防火墙
文章浏览阅读1.1k次,点赞14次,收藏20次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。_php洗车服务预约管理系统php源码
文章浏览阅读1.1k次。桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响至关重要。
文章浏览阅读936次,点赞22次,收藏17次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。
文章浏览阅读822次,点赞15次,收藏14次。在整个设计过程中,要确定可能的具体解决方案,以实现每一个小的最终目标,对于每一个小目标,我们首先必须了解一些相关的需求分析信息。除了以上作品下面是2023-2024年最新100套计算机专业原创的毕业设计源码+数据库,是近期作品,如果你的题目刚好在下面可以文末领取java源码参考。springboot基于springboot的在线考试系统。springboot基于springboot的商城购物系统。springboot基于微信小程序的智慧校园设计与实现。springboot基于用户的协同过滤算法的话题推荐。