PHP 菜鸡入门笔记

Php的介绍

PHP(Hypertext Preprocessor)超文本预处理语言,非常适合做网站,可以很方便地嵌入html之中

php与其他语言的对比

语言区别
JavaScriptjavascript是工作在浏览器端的脚本语言,php是工作在服务器端的脚本
浏览器是客户端,服务器是服务端
pythonpython适用于数学领域但是又是胶水语言,php主要适用于web端
ASPASP是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);
    

数组相关函数

  • 得到数组的长度
    count($arr);
    
  • 数组排序
    $ numbers = array(4,6,2,22,11;
    sort($ numbers);
    

字符串相关函数

  • 得到字符串长度
    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)是检测是否到末尾
    
  • 文件上传下载

    文件上传

其他函数

  • 定义常量函数
    /*1.变量 2.值 3.是不是区分大小写(true是不区分)*/
    define("GREETING", "欢迎访问 Runoob.com", true); 
    

各语言联调

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会以数组形式记录
    

    参考网站1 参考网站2

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](

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值