Php的介绍
PHP(Hypertext Preprocessor)超文本预处理语言,非常适合做网站,可以很方便地嵌入html之中
php与其他语言的对比
语言 | 区别 |
---|---|
JavaScript | javascript是工作在浏览器端的脚本语言,php是工作在服务器端的脚本 浏览器是客户端,服务器是服务端 |
python | python适用于数学领域但是又是胶水语言,php主要适用于web端 |
ASP | ASP是Microsoft公司开发的服务器端脚本环境 |
Php 环境配置
Php 语法结构
基本语法
-
开始结束标记
<?php ?>
-
注释
// 或 /* */
-
常用修饰
static //静态修饰,即函数结束变量不被回收 global //全局变量
-
引用包
include 'filename';
-
if语句
<?php if (条件){ xxxx } elseif (条件){ xxxx } else{ xxxx } ?>
-
switch语句
<?php switch (n) { case label1: xxxx; break; case label2: xxxx; break; default: xxxx; } ?>
基本类型
-
字符串
// 定义 $txt1="Hello world!"; // 字符串拼接 $txt1 . "abc" . $txt2; // 用.
-
数组
$arr = array(1,2,3); //数组是从0开始的
基本类
-
创建类
<?php class Student { //创建类 var $age; //成员变量 function __construct($par){ //类的构造方法 print "构造函数\n"; } function speak($par){ //类方法 echo "well"; } function __destruct(){ //类的析构方法 print "销毁 " } } ?>
Php 常用函数
打印和显示函数
-
echo 函数
echo "Hello world!<br>"; // echo加双引号打印字符串 echo $txt; // 打印变量 echo "<h2>PHP 很有趣!</h2>" //打印HTML标签
-
print 函数
print $txt1; //打印变量 print "<br>";//打印HTML标签 print "在 $txt2 学习 PHP ";// print加双引号打印字符串
-
var_dump() 函数
/* 输出一个或多个变量的相关信息 包括类型与值,其结构 */ <?php $b = 3.1; $c = true; var_dump($b, $c); ?>
-
对变量进行JSON编码/解码函数
/* 将PHP对象转为Json数据 */ // 第1个参数是要转成json格式的变量,第2个参数是用于转码为中文的时候使用。 $out = json_encode($out,JSON_UNESCAPED_UNICODE); /* 将Json数据解析为PHP对象 */ $arr = json_decode($jsonArr);
数组相关函数
字符串相关函数
-
得到字符串长度
strlen("Hello world!"); // 参数就是字符串
-
在字符串内查找一个字符或一段指定的文本
echo strpos("Hello world!","world"); >> 6 // 因为第一个字符是0
-
文件处理相关函数
-
判断是否文件函数
is_file('welcome.txt') //如果是文件夹就不是文件false
-
打开与关闭文件
/* 打开文件 */ $file=fopen("welcome.txt","r") // r只读 w清空文件的内容并只写 r+读写 w+清空文件的内容并读写 $file=fopen("welcome.txt","r") or exit("Unable to open file!"); //这种是若没有文件就退出 /* 关闭文件 */ fclose($file);
-
读取与写入文件
/* 逐行读取文件内容 */ fgets($file) /* feof($file)是检测是否到末尾 */ while(!feof($file)){echo fgets($file). "<br>";} //feof($file)是检测是否到末尾
-
文件上传下载
其他函数
各语言联调
HTML
用表单进行交互,来实现服务器与静态网页的通信。
-
php端
// 主要用到$_POST 变量用于收集来自 method="post" 的表单中的值 <?php echo $_POST["fname"]; ?>
html端
<!-- form表单标签 主要用到$_POST 变量用于收集来自 method="post" 的表单中的值 --> <form action="welcome.php" method="post"> <input type="text" name="fname"> <input type="submit" value="提交"> </form>
PHP
两个php互相传递参数是需要运用静态网页用button触发php服务器才能够实现。其中用到cookie 常。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。
-
一个PHP
/* 参数1是变量,参数2是指参数,参数3是过时后取消cookie值。*/ <?php setcookie("user", "runoob", time()+3600); ?>
-
另一个PHP
<?php // 输出 cookie 值 echo $_COOKIE["user"]; setcookie("user", "", time()-3600); /* 删除cookie值。*/ ?>
Javascript
-
php端
/* 用isset函数得到 JavaScript的变量。 */ <?php $name = isset($_POST['name']) ? htmlspecialchars($_POST['name']) : ''; $url = isset($_POST['url']) ? htmlspecialchars($_POST['url']) : ''; // 传回去的data是包括所有的echo echo '网站名: ' . $name; echo "\n"; echo 'URL 地址: ' .$url; ?>
JavaScript端
运用jQuery框架
向php发数据
/* jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。 */ document.getElementById("button").addEventListener("click", function() { $.post("https://www.gzsyf.xyz/test/check.php",{ //这里指定了目标php url: image, // Imagine就是要向php传递的参数 }, function(data,status){ //data是传回来的数据,status是传递的结果 alert("数据: \n" + data + "\n状态: " + status); // 得到的数据是PHP echo的值 }); });
向php得到数据
$("button").click(function(){ $.get("demo_test.php",function(data,status){ //这里指定了目标php alert("数据: " + data + "\n状态: " + status); //传回来的数据 }); });
Python
-
php端
<?php /* 第一个参数为字符串 子串1:当前系统的解释器 子串2:脚本的位置 子串3:需传入的参数不限个数 */ /* 第二个参数是php接收的python脚本的返回值 第三个参数为执行情况的状态码,执行成功,返回0 */ exec("python ./test1.py {$a} {$b}",$out, $ret); $out = json_encode($out); print($out); ?>
-
python端
import sys # 导入sys包 def func(a,b): # 注意:参数调用后属于文本格式 c = int(a)+int(b) return c if __name__ == "__main__": result = func( a = sys.argv[1], b = sys.argv[2]) # 使用sys.argv[ ]数组获取传入参数 不要使用argv[0] print("%d" %result) # python脚本中print()出来的东西$out会以数组形式记录
MySQL
-
php端
多采用PDO,因为PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。
<?php $servername = "localhost:3306"; //通常设置mysql服务端口为3306 $username = "username"; //一般为root $password = "password"; //当时配置mysql的密码 try { /*我们用PDO 有三个参数 就是开头设置的变量*/ $conn = new PDO("mysql:host=$servername;", $username, $password); /* 抛出 PDO 错误模式为异常 */ $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); /* 给数据库写命令 以创建数据库为例子*/ $sql = "CREATE DATABASE myDBPDO"; //写数据库的命令 $conn->exec($sql); //执行命令 echo "xxxx"; } catch(PDOException $e){ echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>
[参考网站1](