PHP学习笔记:从基础到应用

PHP是一种广泛应用于Web开发的流行开源服务器端脚本语言,同时也可嵌入到HTML中。由于其简单易学和高效灵活的特点,PHP成为了许多开发者首选的编程语言之一。

PHP基础知识

PHP基础知识包括语法、变量、数组、函数、循环和条件语句等。

1.1 语法

下面这段代码是PHP中最简单的例子,它将向浏览器输出"Hello, World!"。

<?php
    echo "Hello, World!";
?>

1.2 变量

以下代码定义了一个名为$name的变量,并将其赋值为"Tom",然后将"My name is Tom"输出到浏览器。

<?php
    $name = "Tom";
    echo "My name is $name.";
?>

1.3 数组

以下代码定义了一个$fruits数组,其中包含三个元素,然后输出"I like apple"。

<?php
    $fruits = array("apple", "banana", "orange");
    echo "I like $fruits[0].";
?>

1.4 函数

以下代码定义了一个名为add的函数,它接受两个参数a和a和b,并返回它们的和。然后输出"3"。

<?php
    function add($a, $b) {
        return $a + $b;
    }
    echo add(1, 2);
?>

1.5 循环

以下代码定义了一个$sum变量,并使用for循环计算1到10的和,然后输出"The sum is 55"。

<?php
    $sum = 0;
    for ($i = 1; $i <= 10; $i++) {
        $sum += $i;
    }
    echo "The sum is $sum.";
?>

1.6 条件语句

以下代码定义了一个$age变量,并使用if语句判断是否成年,然后输出"You are an adult."。

<?php
    $age = 20;
    if ($age >= 18) {
        echo "You are an adult.";
    }
?>

PHP应用

PHP应用包括数据库操作、表单处理、文件上传和会话管理等。

2.1 数据库操作

以下代码连接数据库,查询MyGuests表中的数据,并将结果输出到浏览器。

<?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";
    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);
    // 检查连接是否成功
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    // 查询数据并输出
    $sql = "SELECT id, firstname, lastname FROM MyGuests";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            echo "id: " . $row["id"] . " - Name: " . $row["firstname"] . " " . $row["lastname"] . "<br>";
        }
    } else {
        echo "0 results";
    }
    // 关闭连接
    $conn->close();
?>

2.2 表单处理

以下代码处理POST请求,收集表单数据,并验证表单数据是否为空,然后将结果输出到浏览器。

<?php
    $name = $_POST["name"];
    $email = $_POST["email"];
    if (empty($name) || empty($email)) {
        echo "Please fill in all fields.";
    } else {
        echo "Thank you for submitting the form!";
    }
?>

2.3 文件上传

以下代码允许用户上传图片文件,并进行一系列检查,最终将上传的文件保存到服务器。

<?php
    $targetDir = "uploads/";
    $targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]);
    $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($targetFile,PATHINFO_EXTENSION));
    // 检查文件是否是真正的图片
    if (isset($_POST["submit"])) {
        $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
        if ($check !== false) {
            echo "File is an image - " . $check["mime"] . ".";
            $uploadOk = 1;
        } else {
            echo "File is not an image.";
            $uploadOk = 0;
        }
    }
    // 检查文件大小
    if ($_FILES["fileToUpload"]["size"] > 500000) {
        echo "Sorry, your file is too large.";
        $uploadOk = 0;
    }
    // 允许特定的文件格式
    if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
        && $imageFileType != "gif" ) {
        echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
        $uploadOk = 0;
    }
    // 检查是否有错误发生
    if ($uploadOk == 0) {
        echo "Sorry, your file was not uploaded.";
    } else {
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
            echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
        } else {
            echo "Sorry, there was an error uploading your file.";
        }
    }
?>

2.4 会话管理

以下代码使用session_start()函数启动会话,检查用户是否已登录,如果已登录,则输出欢迎信息,否则输出请先登录的提示。另外,如果用户注销登录,则使用session_destroy()函数销毁会话。

<?php
    session_start();
    if (isset($_SESSION["username"])) {
        echo "Welcome, " . $_SESSION["username"] . "!";
    } else {
        echo "Please log in first.";
    }
    // 注销登录
    if (isset($_GET["logout"])) {
        session_destroy();
        header("Location: login.php");
        exit;
    }
?>

常见问答:

Q: 什么是PHP? 

A: PHP是一种广泛应用于Web开发的流行开源服务器端脚本语言,同时也可嵌入到HTML中。

Q: PHP有哪些基础知识? 

A: PHP基础知识包括语法、变量、数组、函数、循环和条件语句等。

Q: PHP可以用来做什么应用?

A: PHP应用包括数据库操作、表单处理、文件上传和会话管理等。


本文来源:词雅网

本文地址:https://www.ciyawang.com/k0i9ul.html

本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。

相关推荐