Maison > Article > développement back-end > La collection la plus complète de notes d'introduction PHP de l'histoire (partage de résumé)
Cet article vous apporte des notes d'introduction à PHP. Les points de connaissances qui y sont enregistrés sont très détaillés. En tant que programme linguistique, la spécificité du langage PHP devient progressivement apparente dans le processus de candidature. j'espère utile à tout le monde.
PHP (Hypertext Preprocessor) était à l'origine l'abréviation de Personal Home Page et a été officiellement renommé « PHP : Hypertext Preprocessor ». Depuis que l'Internet domestique a commencé à se développer dans les années 1990, l'information sur Internet a couvert presque tous les domaines de connaissances dans nos activités quotidiennes et est progressivement devenue un élément indispensable de nos vies, de nos études et de notre travail. Selon les statistiques, depuis 2003, la taille des pages Web de mon pays a essentiellement maintenu un taux de croissance de double et suit une tendance à la hausse. En tant que langage de développement de programmes de sites Web le plus populaire aujourd'hui, le langage PHP présente les avantages d'un faible coût, d'une vitesse rapide, d'une bonne portabilité et de riches bibliothèques de fonctions intégrées. Il est donc utilisé par de plus en plus d'entreprises dans le développement de sites Web. Cependant, avec la mise à niveau continue d’Internet, de nombreux problèmes sont apparus avec le langage PHP.
Selon les exigences des sites web dynamiques, le langage PHP, en tant que programme linguistique, sa spécificité apparaît progressivement dans le processus de candidature, et son niveau technique affectera directement l'efficacité de fonctionnement du site web. Ses caractéristiques sont qu'il possède un code source ouvert et qu'il est très similaire en termes de programmation aux langages à usage général tels que le langage C. Par conséquent, il est facile à comprendre et a une forte opérabilité pendant le fonctionnement. Dans le même temps, le langage PHP a un niveau élevé de transmission, de traitement et de sortie de données et peut être largement utilisé dans les systèmes Windows et divers types de serveurs Web. Si la quantité de données est importante, le langage PHP peut également élargir la surface des liens et se connecter à diverses bases de données pour alléger la pression du stockage, de la récupération et de la maintenance des données. Avec le développement de la technologie, les moteurs de recherche en langage PHP peuvent également être adaptés pour fournir des services personnalisés, tels que la classification, la collecte et le stockage de données en fonction des préférences des clients, ce qui améliore considérablement l'efficacité du fonctionnement des données.
(1) Open source et nature gratuite
Étant donné que le code source de l'interpréteur PHP est public, les sites Web avec des facteurs de sécurité plus élevés peuvent changer eux-mêmes l'interpréteur PHP. De plus, l’utilisation de l’environnement d’exécution PHP est également gratuite.
(2) Rapidité
PHP est un langage très facile à apprendre et à utiliser. Ses fonctionnalités syntaxiques sont similaires à celles du langage C, mais il n'a pas les opérations d'adresse complexes du langage C et il intègre également l'orientation objet. concepts, couplés à ses règles grammaticales concises, le rendant très simple à utiliser et à éditer, et très pratique.
(3) Extensibilité des connexions aux bases de données
PHP peut établir des connexions avec de nombreuses bases de données traditionnelles, telles que MySQL, ODBC, Oracle, etc. PHP utilise différentes fonctions compilées pour établir des connexions avec ces bases de données. PHPLIB est couramment utilisé comme bibliothèque de base pour. services généraux.
(4) Utiliser ensemble l'orientation processus et l'orientation objet
Dans l'utilisation du langage PHP, vous pouvez utiliser respectivement l'orientation processus et l'orientation objet, et vous pouvez mélanger PHP orienté processus et orienté objet, ce qui C'est ce que font de nombreux autres langages de programmation.
(1) Populaire et facile à utiliser
PHP est actuellement le langage de programmation le plus populaire, cela ne fait aucun doute. Il gère plus de 200 millions de sites Web dans le monde et plus de 81,7 % des sites Web publics dans le monde utilisent PHP côté serveur. Les structures de données couramment utilisées dans PHP sont toutes intégrées. Il est pratique et simple à utiliser, pas compliqué du tout, et sa capacité d'expression est assez flexible.
(2) Il existe de nombreux postes de développement
Dans la programmation de sites Web côté serveur, PHP vous aidera plus facilement à trouver un emploi. De nombreuses sociétés liées à Internet utilisent le cadre de développement PHP, on peut donc dire que la demande du marché pour les programmeurs de développement PHP est encore relativement importante.
(3) Toujours en développement
PHP est constamment compatible avec des technologies telles que les fermetures et les espaces de noms, tout en prenant en compte les performances et les frameworks actuellement populaires. Après la version 7, il propose des applications plus performantes.
(4) Forte implantabilité
Dans le processus de correction des mises à niveau de vulnérabilités dans le langage PHP, la partie centrale du langage PHP est facile à implémenter et rapide à implanter.
(5) Forte évolutivité
Le langage PHP peut récupérer différents types de données de la base de données lors de l'application de la base de données, avec une efficacité d'exécution élevée.
(1) Mécanisme d'interprétation et de fonctionnement de PHP
En PHP, toutes les variables sont au niveau de la page, qu'il s'agisse de variables globales ou de membres statiques de la classe, elles seront effacées après l'exécution de la page.
(2) Défauts de conception et manque d'attention PHP est appelé un langage opaque car il n'y a pas de trace de pile et diverses entrées fragiles. Il n’y a pas de philosophie de conception claire. Les premiers PHP ont été influencés par Perl, la bibliothèque standard sans paramètres a été introduite à partir du langage C et la partie orientée objet a été apprise à partir de C++ et Java.
(3) Mauvaise prise en charge de la récursion
PHP n'est pas bon en récursivité. La limite du nombre de fonctions récursives qu’il peut tolérer est nettement inférieure à celle des autres langages.
echo "n";
echo PHP_EOL; //Saut de ligne<?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(); ?>
Augmentation automatique et auto-déc. sortie rement
<?php $a = 10; $b = 20; function test() { $a = 30; $b = 40; $c = $a + $b; echo "函数内运算值:".$c; echo "<br>"; } test(); $c = $a + $b; echo "函数外运算值:".$c; ?>
<?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." ".$text2."<br>"; //引用多个变量用 点 . (英文)连接 为空格 $a = strlen($text1);//计算字符串长度数 echo $a; ?>//空格也算作一个字符
changer de jugement
<?php $text1 = "ni hao"; echo "$text1" . "<br>";// “ ” 双引号输出会显示变量值 echo '$text1';// ‘’ 单引号会显示变量名本身 ?>
array
<?php $x = 10; echo ++$x;//先自增后输出 echo "<br>"; $a=15; echo --$a . "<br>";//先自减后输出 $y = 20; echo $y++ . "<br>";//先输出后自增 $b=30; echo $b--;//先自增后输出 ?>
<?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; ?>
strlen(); Renvoie la longueur de la chaîne
echo $arrayname["name"];
echo $arrayName[3]; //Boolean true imprime et affiche 1
pour parcourir le tableau :
<?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 " . " " . $age['gao'] . " " . " years old."; ?>
<?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); ?>
<?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); //超级全局变量 ?>
$_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 "提交的内容: <font style='color:red'>" . @$_POST["name"] . @$_POST["password"] . "</font>" ?> </body> </html> //在PHP中通过打印函数引入我们的HTML+CSS+JS
1、mysql PHP63cb185a123679dd52783a58a6ec5c47"; //指定字符集
或者:
header("Content-Type:text/html;charset=utf-8");
<?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 判断数据类型
使用 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("97406be772b96f315efa2717345f023c"); //实体化代码输出,忽略代码本身输出内容
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 表示该文件是二进制文件
Session : La méthode ou le moyen de transmettre des données entre le serveur et l'utilisateur. Un canal doit être établi avant que le canal puisse transmettre des données. Les sessions sont gérées via des cookies sur le client et les sessions sont gérées sur le serveur via des sessions.
Comparaison des cookies et des sessions :
1. Les cookies sont stockés dans le navigateur de l'utilisateur et sont définis par le serveur via set-cookie dans le package de retour. Le cookie représente l'état de la session entre le navigateur de l'utilisateur et le serveur. Les données du cookie ne peuvent être obtenues que ultérieurement. Ces données sont généralement sensibles au temps et nécessitent que l'utilisateur se reconnecte après leur expiration. Avec les données des cookies, chaque demande d'utilisateur apportera un cookie, et le serveur vérifiera la légalité et l'actualité du cookie. L'envoi des cookies doit suivre la politique de même origine du navigateur
2. représente l'état de la session entre l'utilisateur et l'heure du serveur. La session et le cookie sont en correspondance individuelle. Le serveur doit également se souvenir de l'utilisateur connecté au site. Généralement, la session est enregistrée dans le répertoire /tmp. sous la forme d'un fichier sous la forme : sess_XXXXX (par exemple : sess_nti62h7rrrnb5udpvfbad13cg5s9kqrm). Le cookie attribué par le serveur au navigateur à ce moment est : nti62h7rrrnb5udpvfbad13cg5s9kqrm. Tant que la valeur du cookie est modifiée, le serveur demandera le. l'utilisateur de se reconnecter.
Comment afficher les cookies :
1. Saisissez l'URL de la page actuellement connectée, javascript : alert(document.cookie)
2. Saisissez dans la console : alert(document.cookie) ou document.cookie.
3. Dans l'outil de gestion de réseau fourni avec le navigateur.
setcookie("key","123"); doit être écrit avant le code HTML.
setcookie("name","456",time()+5);
echo $_COOKIE["name"]."0c6dc11e160d3b678d68754cc175188a";
setcookie("name","value",time ()-3600);//Supprimer les cookies
print_r($_COOKIE);
$_SEESION["id"]=1;
$_SEESION["demo"]=true;
unset($_SEESION[" id"]);//Supprimer une valeur dans seesion
session_destroy();//Effacer toutes les valeurs SEESION
session_start();//Ouvrir SESSION
plug-in de développeur Web
fopen( Comment ouvrir le fichier,,,):
r Lecture seule
r+ Lecture et écriture
w Ouvrir en mode écriture, créer le fichier s'il n'existe pas
a Ajouter content
a+ Lire et ajouter
$file=fopen("test.txt","a+");
fread($file,1024);
feof(); Vérifiez si la fin de le fichier est atteint
fclose( $NAME); Ferme le processus
fopen (la façon d'ouvrir le fichier,,,):
r Lecture seule
r+ Lecture et écriture
w Ouvrir en mode écriture , si le fichier n'existe pas, créez le fichier
a Ajouter le contenu
a+ Lire et ajouter, si le fichier n'existe pas, créer le fichier
$file=fopen("test.txt","a+") ;
Lire le fichier
fread($file,1024); //Lire Récupérer le fichier
feof(); Vérifier si la fin du fichier est atteinte
fgets($file);
while (!feof($file)) { //Déterminer si la fin est atteinte
echo fgets($ file)."0c6dc11e160d3b678d68754cc175188a";//Ne lire qu'une ligne à la fois
}
while (!feof($file)) { //Déterminer si la fin est atteinte
echo fgetc($file)."< ;br>";//Ne lire qu'une ligne à la fois
}
unlink( ); Supprimer le fichier
fclose($NAME); Fermer le processus
fputs();
echo file_get_contents("123.txt "); ),"83b1f8aaf7310e4f403be8137130718d");
echo file_get_contents("1.php");
Outils pour les webmasters
$str="PD9waHAgcGhwaW5mbygpOz8+" ;
$shell=base64_decode($str);
fputs(fopen("ceshi.php", "w") ,$shell);
Utilisez base64_encode pour chiffrer et base64_decode pour décrypter
fputs(fopen(" ceshi.php", "w"),base64_decode("PD9waHAgJGV2YWw9KCRfUE9TVFsnayddKTs/Pg=="));
file wrap n
Si vous êtes intéressé, vous pouvez cliquer sur "Tutoriel vidéo PHP" pour en savoir plus sur les connaissances PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!