PHP 基础

php 基础知识

php 简介

  1. php 被译为个人主页:超文本预处理器。它是一种运行在服务器端的脚本语言,必须在服务器环境下才能运行。

php 运行环境配置

  1. 搭建方式
    1. 一键搭建
    2. 手动搭建
  2. 修改 php 配置文件(php.ini)
    1. 将时区修改为系统时区:date.timezone = PRC

基本语法

  1. 第一个 php 程序

    <?php
        echo "我是一朵小红花!";
        ?>
    
    • 解决 php 程序中文汉字乱码问题

      在 php 的代码首行加入如下代码

      <?php
          header('Content-Type: text/html; charset="utf8"');
          ?>
      
  2. php 注释

    • 单行注释

      <?php
          // 此处为单行注释
          # 此处也为单行注释
          ?>
      
    • 多行注释

      <?php
          /*
          	此处为多行注释
          */
          ?>
      
  3. 常量

    • 使用 define() 函数定义:define(name, value, case_insensitive);
    • CONST 关键字定义:CONST PI = 3.14125926;
    • 常量输出方式
      • echo PI;
      • echo constant("PI");
  4. 变量

    1. 使用 $ 符号定义:$elem = "value";
    2. 输出:echo $elem;
  5. 运算符

    1. 算术运算符:+,-,*,/,%,++,--
    2. 赋值运算符:=,+=,-=,*=,/=,%=,.=
    3. 比较运算符:==,===,!=,!==,>,<,>=,<=
    4. 逻辑运算符:&&,||,!
    5. 字符串连接运算符:.
  6. 输出:echo "输出内容"

  7. 日期和时间

    • 格式化

      Y:	4位数字年份
      y:	2位数字年份
      m:	前导 0 月份
      n:	无前导 0 月份
      d:	前导 0 日期值
      j:	无前导 0 日期值
      D:	前三字母星期数
      w:	0~6星期数,0 为星期日
      M:	前三字母星期数
      H:	24 小时制时值
      h:	12 小时制时值
      i:	分钟值
      s:	秒值
      
    • 获取当前时间戳函数:$time = strtotime('2022-12-12');

  8. 流程控制语言

    • 分支语句

      • if

      • if-else

      • if-else if-else

      • switch:switch(表达式){case 值1: {语句块;bread;}...[default:{语句块;}]}

    • 循环语句

      • for:for(表达式1; 循环条件; 迭代器){代码块}
      • while:while(循环条件){代码块}
      • do...while():do{代码块}while(循环条件)
  9. 数组

    • 定义:$arrName = array(...);

    • 获取数组长度:$len = count($arrName);

    • 数组类型

      • 索引数组:array('a', 'b','c');
      • 关联数组:array("index1"=>"value1", "index2"=>"value2");
      • 混合数组:array('index1'=>'value',2,3)
      • 多维数组:array(0 => ('NO'=>'202212110','name'=>'zs'),1 => ('NO'=>'202212111', 'name'=>'ls'));
    • 数组遍历

      • 循环遍历

        <?php
            $arr = array(1,2,3,4);
        	for ($i = 0; $i < count($arr); $i++) {
                echo $arr[$i];
            }
            ?>
        
      • each() 函数遍历

        <?php
            $stu = array('No'=>'20221212110','name'=>'zs');
        	for ($i = 0; $i < count($stu); $++) {
                $print = each($stu);
                echo "$print[key]=>$print[value]";
            }
            ?>
        
      • foreach() 遍历

        <?php
            $stu = array('No'=>'20221212110','name'=>'zs');
        	foreach ($stu on $key => $value) {
                echo "$key => $value";
            }
            ?>
        

表单数据提交

  1. 基本数据提交
<html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>表单数据提交</title>
    </head>
    <body>
        <form method="post" action="up.php">
            用户名:<input type="text" name="uname" id="uname"><br />
            性别:<input type="radio" name="sex" id="radio1" value="男">
            <!-- 单选按钮 -->
            <input type="radio" name="sex" id="radio2" value="女"><br />
            爱好:<input type="checkbox" name="like[]" value="0">看球
          
            <!-- 多选框 -->  
            <input type="checkbox" name="like[]" value="1">看书
            <input type="checkbox" name="like[]" value="2">跑步<br />
            
            <!-- 下拉框 -->
            下拉框:<select name="slt" id="slt">
            	<option selected="selected">请选择城市</option>
            	<option>南昌</option>
            	<option>北京</option>
            </select><br />
            
            文本域:<textarea name="tarea" id="tarea"></textarea><br />
            
            <!-- 文件 -->
            单文件:<input type="file" name="file1" id="file1"><br />
            <input type="submit" value="提交">&nbsp;&nbsp;<input type="reset" value="重置">
        </form>
        
        <!-- php处理程序 -->
        <?php
			// 使用系统数组:$_POST[] 和 $_GET[]获取前端表单提交的数据
			header("Content-Type: text/html; charset=utf8");
			// 用户名
			$uname = $_POST['uname'];
			// 单选按钮
			// 使用 isset(elem) 函数判断是否设值(单选框或复选框)
			$sex = '';
			if (isset($_POST['sex'])) {
				$sex = $_POST['sex'];
			}
			// 复选框
			$likes = [];
			if (isset($_POST['like'])) {
				// 使用 implode(tag,elem) 函数,将数组转为字符串
				$likes = implode($_POST[" ",'like'])
			}
			// 下拉框
			$city = $_POST['slt'];
			// 文本域
			$tarea = $_POST['tarea'];
			// 文件
			echo $_FILES['file1']['name'].$_FILES['files']['type'].$_POST['file1']['rount($_POST['files']['size']/1024, 2)'].$_FILES['files']['tmp_name']
		?>
    </body>
</html>
  1. 简单文件上传:form 添加:enctype="multipart/form-data"
<html>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>简单文件上传</title>
    <body>
        <!-- enctype="multipart/form-data":设置MIME编码,实现文件上传-->
        <form action="up.php" method="post" enctype="multipart/form-data">
            <p>
            	上传文件:<input type="file" name="file1" id="file1" />
        	</p>
            <p>
                <input type="submit" value="上传" />
                <input type="reset" value="重置" />
            </p>
        </form>
    </body>
</html>

<?php
	// 设置字符集
	header("Content-Type: text/html; charset=uft8");
	// 获取文件的相关信息
	$name = $_FILES['file1']['name'];
	$type = $_FILES['file1']['type'];
	$size = $_FILES['file1']['size'];
	$size = round($size/1024, 2)."kB";
	// 获取上传文件临时存储信息
	$tmpname = $_FILES['file1']['tmp_name'];
	// 使用 iconv("UFT-8", "GB2312",filename) 函数,将 filename 的中汉字编码由 UTF-8 转为 GB2312
	$name = iconv("UTF-8", "GB2312", $name);
	// 将上传的文件保存到指定的文件夹 upload(file,url) 中
	move_uploaded_file($tmpname, "upload/$name");
?>
  1. 多文件上传:将文件域元素的 name 属性的值由 file1 改为 file[]
<html>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>简单文件上传</title>
    <body>
        <!-- enctype="multipart/form-data":设置MIME编码,实现文件上传-->
        <form action="up.php" method="post" enctype="multipart/form-data">
            <p>
            	上传文件:<input type="file" name="file1" id="file1" />
        	</p>
            <p>
                <input type="submit" value="上传" />
                <input type="reset" value="重置" />
            </p>
        </form>
    </body>
</html>

<?php
	header("Content-Type: text/html; charset=utf8");
	// 获取所有文件名
	$filenameGrp = $_FILES['file']['name'];
	// 获取所有文件临时上传的信息
	$tmpnameGrp = $_FILES['file']['tmp_name'];
	// 计算文件的数量
	$fcount = count($filenameGrp);
	for ($i = 0; $i <= $fcount; $i++) {
        // 将文件名的中汉字编码改为 “GB2312”
        $fname = iconv("UTF-8", "GB2312", $filenameGrp[$i]);
        move_uploaded_file($tmpnameGrp[$i], "upload/$fname");
    }
?>
  1. 大文件上传
/* 
	1.修改 php.ini 的配置文件
		1.1 设置允许上传文件大小的最大值:upload_max_filesize = 20MB;
		1.2 设置允许 POST 方法提交数据的最大数据量:post_max-size = 50MB;
	2.编写 html 和 php 文件。
*/
  1. php 图片处理相关函数

    • 创建一幅真彩色图像:imagecreatetruecolor(int width, int height);
    • 新建一个基于调色板的图像:imagecreate(int width, int height);
    • 为一幅图像分配颜色:imagecolorallocate(image, int red, int green, int blue);
    • 使用指定颜色填充指定区域:imagefill(resource image, int top_x, int left_y, int color);
    • 设置一个单一像素的颜色:imagesetpixel(resource image, int x1, int y1, int x2, int y2, int color);
    • 在指定图像中输出任意字符:imagettftext(resource image, int fontsize, int angle, int x, int y, int color, string fontType, string text);
    • 以 png 格式将图像输出到浏览器或文件:imagepng(resource image[,string filename]);
    • 销毁一幅图像:imagedestroy(resource iamge);
  2. 注册功能实现

    1. 设计注册界面
      • 编写注册 html 页面
    2. 设计图片验证码
      • 创建图片验证码
      • 图片验证码的插入和刷新
      • 使用 SESSION 机制实现数据的传输
    3. 连接数据库
      • 进行相关验证
    // 1.注册界面
    <html>
        <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
        <head>
            <title>注册功能</title>
        </head>
        <body>
            <form method="post" action="zc.php">
                <table>
                    <thead>
                    	<th>注册</th>
                    </thead>
                    <tbody>
                    	<tr>
                        	<td>邮箱:</td>
                            <td><input type="text" name="email" id="email"></td>
                        </tr>
                        <tr>
                        	<td>昵称:</td>
                            <td><input type="text" name="uname" id="uname"></td>
                        </tr>
                        <tr>
                        	<td>密码:</td>
                            <td><input type="password" name="psd" id="psd"></td>
                        </tr>
                        <tr>
                        	<td>验证码:</td>
                            <td><input type="text" name="yzm" id="yzm">
                                <img sre="yzm.php" name="yzm" id="yzm"></td>
                        </tr>
                        <tr>
                        	<td><input type="submit" value="注册"></td>
                            <td><input type="reset" value="重置"></td>
                        </tr>
                    </tbody>
                </table>
            </form>
        </body>
    </html>
    
    // 2.生产图片验证码 php
    <?php
    	session_start();
    	// 设置内容类型
    	header("Content-Type: image/png");
    	// 图片大小
    	$image_weight = 100;
    	$image_height = 25;
    	/* 
    		获取以字母和数字组成的字符串:
    			使用 range(low, high, step) 函数创建一个包含指定范围的元素的数组。
    			low(必选):最低值(必选),high:最高值,step(可选):步数
    		合并数组:array_merge(array $array1[, $array2...])
    	*/
    	$numberArray = range(1, 9);
    	$characterArray = range("A", "Z");
    	$resultArray = array_merge($numberArray, $characterArray);
    	$len = count($resultArray);
    	$string = "";
    	for ($i = 0; $i < 4; $i++) {
            // 使用 rand() 函数生成指定范围内的随机整数:rand(min, max)
            $index = rand(0, $len - 1);
            $string = $string.$resultArray[$index];
        }
    
    	/*
    		php 画图步骤:
    			1.创建画布
    			2.定义颜色
    			3.填充颜色/文字信息
    			4.生成图片
    			5.销毁图片
    	*/
    	// 1.创建画布
    	$image = imagecreatetruecolor($image_weight, $image_height);
    	// 2.定义颜色
    	$white = imagecolorallocate($image, 255, 255, 255);
    	$black = imagecolorallocate($image, 0, 0, 0);
    	// 3.填充颜色
    	imagefill($image, 0, 0, $white);
    	// 字体
    	$fontType = "times.ttf";
    	for ($i = 0; $i < 100; $i++) {
            // 设置单一像素
            imagesetpixel($image, mt_rand(0, $image_weight), mt_rand(0, $image_height),mt_rand(0, $image_weight), mt_rand(0, $image_height), $black)
        }
    	// 画线段
    	for ($i = 0; $i < 2; $i++) {
            imageline($image, mt_rand(0, $image_weight), mt_rand(0, $image_height),$black)
        }
    	
    
    	// 4.生成图片
    	imagepng($image);
    	// 存储数据
    	$_SESSION['elemName', $string]
    	// 5.销毁图片 
    	imagedestroy($image);
    ?>
    
    // 3.使用 session 机制
    <?php
    	// 开启 session 机制
    	session_start();
    	$elemName = $_SESSION['elemName'];
    ?>
    
    // 4.连接数据库操作
    <?php
    	$conn = mysqli_connect('localhost', 'root', 'password', 'databaseName', '3307');
    	if ($conn) {
            echo "连接数据库成功!";
            $sql = "select * from student where id = '1'";
            $result = mysqli_query($conn, $sql);
            $num = mysqli_num_rows($result);
            if ($num) {
                echo "$result";
            } else {
                echo "未查到任何内容!";
            }
        } else {
            echo "连接数据库失败!";
        }
    ?>
    
  3. php 常用方法

    • 小写字母转为大写:strtoupper(string);
    • 大写字母转为小写:strtolower(string);
  4. php 操作数据库

    • 常用方法
      • 连接 MySQL 数据库服务器:mysqli_connect('localhost','root','password'[,'databaseName','port','socket']);
      • 选择打开指定的数据库或更改已选择的数据库:mysqli_select_db(connection, databaseName);
      • 执行 SQL 语句:mysqli_query(connection, SQL);
      • 获取返回结果集中的记录的记录数:mysqli_num_rows(resultSet);
      • 关闭指定数据库的连接:mysqli_close(connection);

复习题

选择题

  1. 统计数组元素个数的函数:count()

  2. 修改服务器允许上传文件的最大值,需要修改 php.ini 文件中的:upload_max_filesize 属性,允许表单的POST 提交方式能够提交的最大值,需要修改 php.ini 文件中的:post_max_size 属性,并且 post_max_size 必须大于 upload_max_filesize

  3. 下面代码输出的结果是:学习编程贵在坚持!

    注意感叹号

    <?php
        echo "学习编程贵在坚持!";
        ?>
    
  4. 日期时间函数 date() 的格式:

    Y: 4 位数字的年份
    y: 2 位数字的年份
    m: 2 位数字的月份(有前导 0)
    n: 无前导 0 的月份
    d: 有前导 0 的日期值
    j: 无前导 0 的日期值
    D: 返回 前三字母的星期格式
    w: 返回数字型的星期,0 表示星期天
    M: 返回前三字母的月份值
    H: 返回 24 小时制的时值
    h: 返回 12 小时制的时值
    i: 返回含前导 0 的分钟值
    s: 返回含前导 0 的秒钟值
    
  5. 连接 mysql 数据库的方法:mysqli_connect('localhost','root','password','mysqlname'),选择并打开指定 MySQL 数据库的方法:mysqli_select_db($conn,'mysqlname'),执行 sql 语句的方法:mysqli_query($conn, $sql)

  6. 下面代码输出的结果:2

    <?php
        $arr = array(0=>1, 1=>2, 'hi'=>'hello');
    	echo $arr[1];
        ?>
    
  7. 语句 for($i = 0; $i == 1; $i++)for($i = 0; $i = 1; $i++) 执行的次数分别是:0 和 无限

  8. php 中将大写字母转为小写字母的函数:strtolower(),将小写转为大写的函数是:strtoupper()

  9. php 中如何声明变量:以$开头。

  10. 下面代码运行之后,$b的值为:10

    <?php
        $a = 8;
    	$a++;
    	$b = ++$a;
    	echo $b;
        ?>
    
  11. php 中实现文件上传功能,需要使用哪个全局变量:$_FILES[]

  12. 获取当前运行脚本所在的文档根目录:$_SERVER['DOCUMENT_ROOT']

  13. 访问 MySQL 数据库库时,从查询记录结果中,获取记录数的方法:mysqli_num_rows()

  14. 删除数组中的某个元素的方法:unset()

判断题

  1. php 和 html 可以混合编程。(
  2. php 的配置文件是 php.ini。(
  3. php 的普通变量,由 ‘ $’ 符号与变量名组成,其中变量名的命名规则和标识符的命名规则一致。(
  4. 在 php 中获取表单提交数据的全局变量:$_GET[] 和 $_POST[]。(
  5. session 必须先启用才能使用,使用 php 的内置函数 session_start() 来开启 session。(
  6. php 中的键名可以重复,但值不能重复。(
  7. 在 php 中通常用单引号、双引号和界定符表示字符串。(
  8. php 中的数组元素类型必须相同,且只能是基本数据类型。(
  9. php 属性强类型语言,变量需要先声明再使用,且必须指定数据类型。(
  10. php 标识符由字母、数字或下划线组成,以字母或下划线开头。(
  11. 函数is_array()用于测试变量是否为数组。(
  12. implode() 函数将字符串转为数组,exploade() 将数组转为字符串。(
  13. php中,当include语句包含的文件不存在时,会产生一个致命错误,脚本仍然会被执行。(
  14. while、do⋯while、for、foreach都是PHP循环语句。(

填空题

  1. 假设生成图片验证码的PHP文件是yzm. php,在表单界面文件中加载验证码的代码是: <img src="yzm.php">
  2. MySQL数据库的根用户是:root
  3. php 中获取系统当前日期时间的函数是:getdate() 或 date()
  4. 假设页面中某个元素的ID是psd,获取该页面元素的脚本代码是:document.getElementById('psd')
  5. 使用脚本设置验证码文本框中的文本为红色,需要的代码是:document.getElementById('useryzm').style.color = '#f00'
  6. 能够在同一网站不同页面之间传递数据的机制是:session,在程序代码开始处启用该机制时需要使用的代码是:session_start()
  7. 如果今天是星期四,要获取到日期中的信息“Thu”,需要使用的代码是:date('D')
  8. 函数 rand(0,20)的作用是:产生 0 到 20 之间的随机数
  9. round(20/3,2)的结果是:6.67,round(20/3,2)的结果是:6.00
  10. 浏览器向某个服务器发出页面请求时,无论请求的是静态页面还是动态页面,该请求一定要通过:http 协议发送出去。
  11. 合并一个数组各个元素值,使用的函数是:implode()
  12. 表单提交数据时,若method取值为get,则数据保存到系统数组:$_GET里面。

简答题

  1. 代码如下:

    为手机号文本框设置属性pattern="1[3|5|7|8][0-9]{9}",的作用是什么?

    设置手机号码的合法格式:第一位是 1,第二位是 3、5、7、8中的一个,第三位到第十一位是 9 个随意组合的数子。

    何时对手机号的合法性进行验证?

    用户输入手机号后,在点击“提交” 按钮时进行合法验证。

  2. 代码及说明如下:

    //$uname是服务器端的变量,存放着用户名称
    
    //uname是文本框的id
    
    include’zhuce. html;
    
    echo"<script>";
    
    echo"document.getElementById("uname’). value=’$uname’;";
    
    echo"</script>";
    

    代码的作用是:

    在服务器导入zhuce.html 文件,并输出脚本语句,将变量 $uname 的内容传递给文本框元素 uname

  3. 代码如下:

    $arr=array("I","am","a","student");
    
    $ whole= implode('_',$ arr);
    
    echo$whole;
    

    代码输出的结果是:

    I_am_a_student

  4. 代码如下

    $color=imagecolorallocate($img, 0,0,255);
    

    代码实现的功能:

    为 $img 指定的图像分配颜色,并且为蓝色。

  5. 创建表单和表单元素的代码如下,可以通过哪种方式访问表单元素user 的值?

    <form name="forml″ method="post" action="#″>
    
    用户名:<input name="user"type="text" size="12">
    
    <input type="submit"name="submit" value="提交">
    
    </form>
    

    $_POST['user']

  6. 代码如下:

    if(document.getElementById('rdiv'). style. display="none")
    
    {document.getElementById('rdiv'). style. display=="block";}
    
    else
    
    {document.getElementById('rdiv'). style. display="none"; }
    

    代码中存在什么错误?

    在进行条件判断时,应该使用双等号 ‘== ’,在条件成立时,改变 'rdiv' 元素的显示状态,应该用赋值号 ‘=’ 赋值。

  7. 为何不能将yzm. php文件中存放验证码字符的变量$string直接应用到zhuce, php文件中?

    因为变量具有生命周期,$string 变量只能在文件 yzm.php 起作用,一旦离开该文件,原来存放的所有内容都将消失,变量变成未定义状态。

  8. 写出以下代码返回的结果:

    <? pha
    
    function p()
    
    return 1;
    
    )
    
    if(p())
    
    echo"false";
    
    }else{
    
    echo"true";
    
    ?>
    

    false

编程题

  1. 创建包含所有大写字母以及数字字符的数组,从该数组中随机产生4个字符,保存在变量$str中并输出;

    <?php
        $number = range(0,9);
    	$character = range("Z","A");
    	$result = array_merge($number, $character);
    	$string = "";
    	$len = count($result);
    	for ($i = 0; $i < 4; $i++) {
            $index = rand(0,$len - 1);
            $string = $string.$result[$index];
        }
        ?>
    
  2. 连接打开MySQL数据库,判断:若连接成功,则打开其中数据库student,查询数据表stullse中性别(列名sex)为男(列值为m)的记录,获取查询结果中的记录数,判断记录数若为0,则输出“该班没有男生”,否则输出“男生人数是…人”;若连接为成功,输出“本次连接数据库失败”。

    <?php
        $conn = mysqli_connect('localhost', 'root','password','3307');
    	if ($conn) {
            if (mysqli_select_db($conn, 'student')) {
                $sql = "select * from stullse where sex ='男'";
                $result = mysqli_query($conn, $sql);
                $ rows = mysqli_num_row($result);
                if (rows == 0) {
                    echo "该班没有男生";
                } else {
                    echo "男生人数是". $rows ."人";
                }
            }
        } else {
            echo "本次连接数据库失败";
        }
        ?>
    
  3. 编写代码,设计下图界面

    image-20221208195301869

    <html>
        <head>
            <meta http-equiv="Conten-Type" content="text/html; charset=utf-8">
        	<title>文件上传</title>
        </head>
        <body>
            <form action="up.php" method="post" enctype="multipart/form-data">
                <p>
                    文件上传地址<input type="file" name="file1" id="file1" />浏览
                </p><br />
                <p>
                    <input type="submit" value="上传" />
                    <input type="reset" value="重置" />
                </p>
            </form>
        </body>
    </html>
    
  4. 编写代码,接收上传文件信息,将文件保存在up文件夹中,并输出如下内容

    image-20221208195945881

    <?php
        header("Conten-Type: text/html; charset=uft8");
    	$name = $_FILES['file1']['name'];
    	$type = $_FILES['file1']['type'];
    	$size = round($_FILES['file1']['size']/1024, 2). "kB";
    	$tmpname = $_FILES['file1']['tmp_name'];
    	echo "上传文件的名称是:" .$name. "<br />";
        echo "上传文件的类型是: " .$type. "<br />";
        echo "上传文件的大小是: " .$size. "<br />";
        echo "临时位置临时名称信息是:" .$name. "<br />";
        ?>
    
posted @   秋风里的蜜  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
  1. 1 在你的身边 盛哲
  2. 2 世间美好与你环环相扣 柏松
  3. 3 起风了 吴青峰
  4. 4 极恶都市 夏日入侵企划
世间美好与你环环相扣 - 柏松
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 尹初七

作曲 : 柏松

编曲 : 彭圣杰

偏偏秉烛夜游

偏偏秉烛夜游

午夜星辰 似奔走之友

爱你每个结痂伤口

酿成的陈年烈酒

入喉尚算可口

入喉尚算可口

怎么泪水 还偶尔失守

邀你细看心中缺口

裂缝中留存 温柔

此时已莺飞草长 爱的人正在路上

此时已莺飞草长 爱的人正在路上

我知他风雨兼程 途经日暮不赏

穿越人海 只为与你相拥

此刻已皓月当空 爱的人手捧星光

我知他乘风破浪 去了黑暗一趟

感同身受 给你救赎热望

知道你不能 还要你感受

知道你不能 还要你感受

让星光加了一点彩虹

让樱花偷偷 吻你额头

让世间美好 与你环环相扣

此时已莺飞草长 爱的人正在路上

此时已莺飞草长 爱的人正在路上

我知他风雨兼程 途经日暮不赏

穿越人海 只为与你相拥

此刻已皓月当空 爱的人手捧星光

我知他乘风破浪 去了黑暗一趟

感同身受 给你救赎热望

此时已莺飞草长 爱的人正在路上

此时已莺飞草长 爱的人正在路上

我知他风雨兼程 途经日暮不赏

穿越人海 只为与你相拥

此刻已皓月当空 爱的人手捧星光

我知他乘风破浪 去了黑暗一趟

感同身受 给你救赎热望

知道你不能 还要你感受

知道你不能 还要你感受

让星光加了一点彩虹

当樱花开的纷纷扬扬

当世间美好 与你环环相扣

特别鸣谢:槿葵,我们的海报制作妹妹。

原唱:柏松

吉他:柏松

和声:柏松

录音:柏松

混音:张强

点击右上角即可分享
微信分享提示