1. 程式人生 > >PHP購物網站(含購物車、全部原始碼、資料庫設計表及其原始碼)

PHP購物網站(含購物車、全部原始碼、資料庫設計表及其原始碼)

這是我在研究生期間,老師要求做的一個類似原始淘寶網的購物網站,
因為不會PHP,為了寫這個作業而新學的。
做這個網站用了兩週時間,在此把這個小專案做一個總結。

這個小專案做的時間非常趕,一共兩週,實際有效時間只有10天,中間還在忙其他的事。所以有很多不足之處。
有些程式碼原本可以寫的更精簡,合併在一起。
連線資料庫和其他的一些執行sql語句的操作,可以封裝在單獨的檔案裡面呼叫,這裡也都比較簡單的哪裡用到就在哪裡處理了。
資料庫的連結方式用了兩種,沒有統一。

還是有很多值得改進的地方。

功能:

DONE. 使用者許可權管理。包括管理員和普通使用者。管理員有所有許可權,包括更新網站狀態
登入的其他值為使用者名稱和密碼,使用者名稱和密碼正確,跳轉到下一頁。
ADMIN具有新增,刪除,更新等許可權。使用者只能檢視手機,只能新增到購物車中的手機等。

DONE.新使用者:此模組適用於沒有帳戶的使用者。這裡使用者可以建立一個帳戶來登入。賬戶的建立是通過填寫登錄檔單和使用者的詳細資訊,如姓名,電話,電子郵件等來完成的。

DONE.產品管理和展示:該模組展示手機產品資訊,如產品編號,專案,名稱,類別,產品影象,說明,功能和產品限制等。所有這些都將輸入到資料庫,因此可以在網站上找到。

DONE.搜尋:該模組可幫助客戶根據自己的預算或興趣來放鬆搜尋。搜尋可以在不同的類別上完成,如品牌,型號名稱,型號,顏色或價格等。

DONE:交易:在此模組中,購物車的管理已完成。此模組購物者可以選擇任意數量的物品(手機,配件)並將它們新增到購物車,在從購物車購買物品後,所有要購買的物品都可以再次檢視。如果他以後不喜歡,購物者也可以從購物車中取出。購物者還可以逐一檢查購物車中儲存的產品。由於產品從購物車中檢出,總價格將相加。

DONE:裝運:在這個模組中,購物者可以選擇合適的裝運選項。購物者可以使用不同服務提供商提供的各種運送選項。

DONE:付款:該模組描述了客戶完成的付款。購物者可以選擇不同的支付方式,並根據所選的支付方式的要求提供機密的支付資訊。付款資訊還可能包括購買型號,數量和供應商名稱等資訊。

DONE:報告:在此模組中,將生成所有報告。無論何時出售物品或客戶訂購產品,都應立即通過電子郵件向其供應商傳送警報,以便他可以儘快裝運該物品。該模組有3個子模組;股票報告,訂單報告和交付報告。

  • 股票報告將生成可用產品數量和產品狀態的報告。
  • 訂單報告將列出訂購的產品清單以及購買該產品的客戶詳細資訊,這些資訊未送達。
  • 交付報告將生成已售出產品清單及其交付狀態。

1.資料庫表設計

下面是對資料庫設計的一個說明,交作業用的。

*Design ideas of relational schema:
Since the website will not be too complex, so I just design basic fields of the whole website logic. As for the tables “order_info” and “orderDetailRecord_info”, I separate order information into two tables to solve the problem that one order may have two types of products. Plus, the “p_image_url” field in the table “product_info”, will be used for analyzing url of images of products. Plus plus: actually an order may conclude many products, every products may choose different delivery method, but here we simplify it and assume that an order only have one delivery method.*

另外需要說明的是,
delivery_info表和payment_info表中分別加入了一個random欄位,是因為在寫php處理的過程中,產生了相應的需要,具體處理請看程式碼。

下面是具體的表名和欄位:
mysql1
mysql2
mysql3

附上剛開始建立資料表的mysql程式碼,後期自此基礎上有一些修改

`admin_info(admin_id,admin_name,admin_pwd)`
CREATE TABLE IF NOT EXISTS admin_info(
    admin_id int(10) NOT NULL AUTO_INCREMENT,
    admin_name varchar(50) NOT NULL,
    admin_pwd varchar(50) NOT NULL,
    PRIMARY KEY(admin_id)
);


`user_info(u_id,u_name,u_pwd,u_phone,u_email)`
CREATE TABLE IF NOT EXISTS user_info(
    u_id int(10) NOT NULL AUTO_INCREMENT,
    u_name varchar(50) NOT NULL,
    u_pwd varchar(50) NOT NULL,
    u_phone int(50) NOT NULL,
    u_email varchar(50) NOT NULL,
    PRIMARY KEY(u_id)
);


`product_info(p_id, p_name,p_brand, p_type,p_price,p_inventory,p_descr,p_color,p_image_url)`
CREATE TABLE IF NOT EXISTS product_info(
    p_id int(10) NOT NULL AUTO_INCREMENT,
    p_name varchar(50) NOT NULL,
    p_brand varchar(50) NOT NULL,
    p_type int(50) NOT NULL,
    p_price varchar(50) NOT NULL,
    p_inventory varchar(50) NOT NULL,
    p_descr varchar(100) NOT NULL,
    p_color varchar(50) NOT NULL,
    p_image_url varchar(200) NOT NULL,
    PRIMARY KEY(p_id)
);


`payment_info(pay_id,pay_user,receive_user,pay_account,receive_account,pay_status)`
CREATE TABLE IF NOT EXISTS payment_info(
    pay_id int(10) NOT NULL AUTO_INCREMENT,
    pay_user varchar(50) NOT NULL,
    receive_user varchar(50) NOT NULL,
    pay_account int(50) NOT NULL,
    receive_account int(50) NOT NULL,
    pay_status boolean NOT NULL,
    PRIMARY KEY(pay_id)
);


`delivery_info(d_id,d_company,d_init_add,d_trgt_add,d_price)`
CREATE TABLE IF NOT EXISTS delivery_info(
    d_id int(10) NOT NULL AUTO_INCREMENT,
    d_company varchar(50) NOT NULL,
    d_init_add varchar(50) NOT NULL,
    d_trgt_add varchar(50) NOT NULL,
    d_price varchar(50) NOT NULL,
    PRIMARY KEY(d_id)
);


`order_info(o_id,u_id,d_id,o_date,pay_id)`
CREATE TABLE IF NOT EXISTS order_info(
    o_id int(10) NOT NULL AUTO_INCREMENT,
    u_id int NOT NULL,
    d_id int NOT NULL,
    o_date int(50) NOT NULL,
    pay_id int NOT NULL,
    PRIMARY KEY(o_id),
    FOREIGN KEY (u_id) REFERENCES user_info(u_id),
    FOREIGN KEY (d_id) REFERENCES delivery_info(d_id),
    FOREIGN KEY (pay_id) REFERENCES payment_info(pay_id)
);


`orderDetailRecord_info(r_id,o_id,p_id,p_num)`
CREATE TABLE IF NOT EXISTS orderDetailRecord_info(
    r_id int(10) NOT NULL AUTO_INCREMENT,
    o_id int NOT NULL,
    p_id int NOT NULL,
    p_num int(50) NOT NULL,
    PRIMARY KEY(r_id),
    FOREIGN KEY (o_id) REFERENCES order_info(o_id),
    FOREIGN KEY (p_id) REFERENCES product_info(p_id)
);


`stock_info(s_id,p_id,p_inventory)`
CREATE TABLE IF NOT EXISTS stock_info(
    s_id int(10) NOT NULL AUTO_INCREMENT,
    p_id int(10),
    p_inventory int(50),
    PRIMARY KEY(s_id),
    FOREIGN KEY(p_id) REFERENCES product_info(p_id)
);


下面是以上功能的程式碼以及一些相關的解釋:
最簡單的主介面:
index.html
//只放了一個註冊一個登入的連結

<html>
<head>
<meta charset="utf-8">
<title>Phones on saling</title>
</head> 
<h1>Phones on saling!</h1>
    <a href="chooseCharactor.html" target="_blank">Sign in the website.</a><br><br>
    <a href="login.php" target="_blank">Login into the website.</a>
</html>

1.註冊功能:

首先要選擇角色型別:(這個功能是剛開始練習做的,其實應該把角色選擇和註冊功能都放在一個頁面裡,現在分為了三個,分別是選擇,管理員註冊和使用者註冊,比較麻煩。後來時間緊,就沒有再改了,實際可以合併為一個。)

chooseCharacter.html

<html>
<head>
    <meta charset="utf-8">
    <title>Sign in to phone website</title>
</head> 
    <h1>Choose your charactor</h1>
    Please choose which kind of charactor you want to sign in?
    <form action="chooseCharactor.php" method="get">
        <select name="q">
        <option value="">Choose charactor</option>
        <option value="admin">Admin</option>
        <option value="user">User</option>
        </select><br>
        <input type="submit" value="Submit">
    </form>
</html>

chooseCharacter.php
//選擇相應的角色後,會跳轉到不同角色的註冊介面

<!DOCTYPE html>
<html>
<head>
    <title>Choose charactor</title>
</head>
<body>
    <?php
           $q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';
           if($q == "") {
                echo "You must choose a charactor!";
            }else if($q != ""){
                if($q =='admin') {
                    header('Location: adminSign.html');
                } else if($q =='user') {
                    header('Location: sign.html');
                }
            }
    ?>
</body>
</html>

1)管理員註冊:
adminSign.html
//管理員註冊的介面。管理員註冊需要拿到內部的Invitation number(邀請碼),註冊方可進行。如果已經註冊,可以點選下方的login連結,直接登入,將跳轉到login.php介面。

<html>
<head>
    <meta charset="utf-8">
    <title>Sign in to phone website as admin user</title>
</head> 
    <h1>Sign in</h1>
    <form action="adminSign.php" method="post">
        User name:<input type="text" name="username"><br>
        User password:<input type="password" name="psw"><br>
        Confirm user password:<input type="password" name="cofpsw"><br>
        Invitation number:<input type="text" name="invtnum"><br>
        <input type="submit" name="submit">
    </form>
    If you have already signed in, please click here to login.<br>
    <a href="login.html" target="_blank">Login into the website.</a>
</html>

adminSign.php
//處理管理員註冊請求

<!DOCTYPE html>
<html>
<head>
    <title>Sign in the phone web as admin user, success!</title>
</head>
<body>
    <?php
        include 'executeSql.php';
        $userName = $_POST["username"];
        $pwd = $_POST["psw"];
        $cofPsw = $_POST["cofpsw"];
        $invtNum = $_POST["invtnum"];

        if($userName == ""||$pwd == ""||$cofPsw == ""|| $invtNum == ""){
            echo "None of the value can be empty!";
        }else if($pwd != $cofPsw){
            echo "The password entered for two time is not same!";
        }else if($invtNum != "SN90IE58KP"){
            echo "The invitation number is wrong!"; 
        }else{
            echo "All values are right, your have sucessfully sign in as admin user!";
            $sql = "INSERT INTO admin_info (admin_name,admin_pwd) VALUES('" . $userName . "','" . $pwd . "');";
            //$sql = "INSERT INTO admin_info (admin_name,admin_pwd) VALUES('superadmin','admin123');";
            //echo $sql;
            executeSql($sql);
        }
    ?>
</body>
</html>

2)使用者註冊
sign.html
//使用者註冊介面

<html>
<head>
<meta charset="utf-8">
<title>Sign in to phone website</title>
</head> 
<h1>Sign in</h1>
<form action="sign.php" method="post">
    User name:<input type="text" name="username"><br>
    User password:<input type="password" name="psw"><br>
    Confirm user password:<input type="password" name="cofpsw"><br>
    Phone:<input type="text" name="phone"><br>
    Email:<input type="email" name="email"><br>
 <input type="submit" name="submit">
</form>
</html>

sign.php
//處理使用者註冊請求,收集基本資訊並加入到資料庫。如果存在資料缺失,則不能註冊,對兩次輸入的密碼做了基本的檢測,並檢測郵箱格式的正確性。
//註冊後會跳轉到login.php介面,但是因為普通使用者註冊後,會自動為當前使用者登入,並在當前的cookie中儲存使用者登入的狀態,因此不需要再登入一次,可以直接由網頁連結跳轉到手機購買介面。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Sign in sucess!</title>
    <style>
    .button {
        background-color: #4CAF50;
        border: none;
        color: white;
        padding: 15px 32px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;
    }
    .table{
    border-style:solid;
    border-color:#98bf21;
    align-self: center;
    align-items: center;
    }
    /*.divcss5-right{width:320px; height:120px;border:1px solid #F00;float:right} */
    .divcss5-right{float:right;} 
    /* css註釋:對divcss5-right設定float:right即可讓物件靠右浮動 */
    </style>
</head>
<body>
    <?php
    function executeSql($sql){
        $flag = false;
        $feedback = array();
        if($sql == ""){
            echo "Error! Sql content is empty!";
        }else{
            $servername = "localhost";
            $username = "root";
            $password = "";
            $dbname = "hw";

            $conn = mysqli_connect($servername, $username, $password, $dbname);

            if (mysqli_connect_errno()){
                echo "Failed to connect to MySQL: " . mysqli_connect_error();
            }

            $query_result=mysqli_query($conn,$sql);//query_result is a PHP array
            if($query_result){
                $flag = true;
                $feedback = $query_result;
                //$num_rows=mysqli_num_rows($query_result);
            }
        return array($flag,$feedback);
        }
    }

    $userName = $_POST["username"];
    $pwd = $_POST["psw"];
    $cofPsw = $_POST["cofpsw"];
    $phone = $_POST["phone"];
    $email = $_POST["email"];

    if($userName == "" || $pwd == "" || $cofPsw == "" || $phone == "" || $email == ""){
        echo "None of the value can be empty!";
    }
    else if($pwd != $cofPsw){
        echo "The password entered for two time is not same!";
    }else if ($pwd == $cofPsw){
        $sql = "INSERT INTO user_info (u_name,u_pwd,u_phone,u_email) VALUES('" .$userName ."','" . $pwd ."','" . $phone . "','" . $email . "');";
        $result = executeSql($sql);
        if($result){
            $select_sql = "SELECT u_id FROM user_info WHERE u_name = '".$userName."';";
            $result = executeSql($select_sql);
            if($result[0]){
                setcookie('login_status',true);
                while($row = mysqli_fetch_assoc($result[1])){
                    $u_id=$row["u_id"];
                    setcookie('u_id',$u_id);
                }
                header("location:login.php");
            }
        }
    }
    ?>
</body>
</html>

2.登入功能:

login.php
//使用者登入的介面,可以選擇管理員使用者登入和普通使用者登入。
作為管理員使用者登入後,跳轉到產品管理介面。作為普通使用者登入後,跳轉到網站主頁,即手機購買介面。

<html>
<head>
<meta charset="utf-8">
<title>Login in to phone website</title>
<style>
    .button {
        background-color: #4CAF50;
        border: none;
        color: white;
        padding: 15px 32px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;
        align-self:right;
        float: left;
    }
    .body{font-family:Arial,Helvetica,sans-serif;font-size:20px;}
    </style>
<h2>User Login</h2>
</head>
    <body class = "body">
        <?php
        if(isset($_COOKIE['login_status'])){
            echo "Login already.";
        ?>
        <br>
        <br>
        <a href='showPhones.php'>Click here to buy phones.</a>
        <?php
        }else{
        ?>
        <form action="process_login.php" method="post">

            <select name="character">
                <option value="">Choose your character</option>
                <option value="admin">admin</option>
                <option value="user">user</option>
            </select><br>

            User name:<input type="text" name="username"><br>
            User password:<input type="password" name="psw"><br>
            <input type="submit" class = "button" name="submit" value="Choose">
        </form>
        <?php
        }
        ?>
    </body>
</html>

process_login.php處理登入請求

<!DOCTYPE html>
<html>
<body>
    <?php
    function executeSql($sql){
        $flag = false;
        $feedback = array();
        if($sql == ""){
            echo "Error! Sql content is empty!";
        }else{
            $servername = "localhost";
            $username = "root";
            $password = "";
            $dbname = "hw";

            $conn = mysqli_connect($servername, $username, $password, $dbname);

            if (mysqli_connect_errno()){
                echo "Failed to connect to MySQL: " . mysqli_connect_error();
            }

            $query_result=mysqli_query($conn,$sql);//query_result is a PHP array
            if($query_result){
                $flag = true;
                $feedback = $query_result;
                //$num_rows=mysqli_num_rows($query_result);
            }
            return array($flag,$feedback);
        }
    }


    $userName = $_POST["username"];
    $pwd = $_POST["psw"];

    if(isset($_POST["submit"])){
        $selected_Charactor = $_POST["character"];   
    }else{
        echo "You have choose the wrong charactor!";
        echo "<br>";
    }

    if($userName == ""||$pwd == ""){
        echo "None of the value can be empty!";
        echo "<br>";
    }

    //declare the sql var and decides the value
    //$sql;
    if($selected_Charactor == "admin"){
        $sql = "SELECT admin_id FROM admin_info WHERE admin_name = '" . $userName . "' and admin_pwd = '". $pwd ." ' ;" ;
        $result = executeSql($sql);
        if ($result[0]) {
            header('Location: p_manage.php');
        } else {
            echo "Error! Something wrong in your username or password!";
            echo "<br>";
        }
    }else if($selected_Charactor == "user"){
        $sql = "SELECT u_id FROM user_info WHERE u_name = '" . $userName ."' and u_pwd = '".$pwd."' ;" ;
        $result = executeSql($sql);

        if($result[0]){
            setcookie('login_status',true);
            while ($row = mysqli_fetch_assoc($result[1])){
                    $u_id=$row["u_id"];
                    setcookie('u_id',$u_id);
            }
            header('Location: showPhones.php');
        }else{
            echo "Error! Something wrong in your username or password!";
            echo "<br>";
        }
    }
    ?>
</body>
</html>

3.手機產品管理(管理員):

1)增加新的手機:
add_product.html
//增加新的手機庫存

<html>
<head>
    <title>Add new product</title>
    <style>
    .button {
        background-color: #4CAF50;
        border: none;
        color: white;
        padding: 15px 32px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;
        align-self:right;
        float: right;
    }
    .table{
    border-style:solid;
    border-color:#98bf21;
    align-self: center;
    align-items: center;
    width: "12%";
    height: "20%";
    }
    </style>
</head>
<h1 align="center">Hello admin user, you can add a new product into database!</h1>
<body>
    <form action="add_product.php" method="post">
        <table align="center" class = "table" border="1">
            <th>Product Name</th>
            <th>Product Brand</th>
            <th>Product Type</th>
            <th>Product Price</th>
            <th>Product Inventory</th>
            <th>Product Description</th>
            <th>Product Color</th>
            <th>Product Url</th>
            <tr>
                <td><input type="text" name="name"></td>
                <td><input type="text" name="brand"></td>
                <td><input type="text" name="type"></td>
                <td><input type="text" name="price">
            
           

相關推薦

PHP購物網站購物車全部原始碼資料庫設計及其原始碼

這是我在研究生期間,老師要求做的一個類似原始淘寶網的購物網站, 因為不會PHP,為了寫這個作業而新學的。 做這個網站用了兩週時間,在此把這個小專案做一個總結。 這個小專案做的時間非常趕,一共兩週,實際有效時間只有10天,中間還在忙其他的事。所以有很多不足之

Python分散式爬蟲打造搜尋引擎網站課件&程式碼

未來是什麼時代?是資料時代!資料分析服務、網際網路金融,資料建模、自然語言處理、醫療病例分析……越來越多的工作會基於資料來做,而爬蟲正是快速獲取資料最重要的方式,相比其它語言,Python爬蟲更簡單、高效 ----------------------課程目錄--

小型購物網站:專案搭建

1、搭建專案執行的環境 1)在tomcat中配置虛擬主機 在tomcat7/conf/server.xml中的引擎標籤下新建一個Host標籤: <Engine> <Host name="www.easymall.com" appBase="建立的資料夾

如何利用GitHub設計一個炫酷的個人網站代碼

代碼 建立 一點 沒有 ima href info 個人網站 bubuko 1.在開始制作之前我們先預覽一下我的網站吧! 1.方式一: 由於是手機版的所以用手機掃下面的二維碼體驗比較好一點: https://tom-shushu.github.io/MyWeb.git

testNG簡易教程安裝,註解,配置檔案,測試報告等

一、eclipse安裝TestNG外掛 1.線上安裝 點選eclipse頂部選單欄Help-->Install New SoftWare,再點選Add按鈕,Name:testNG,Location:http://beust.com/eclipse,等幾分鐘後出現tes

asp.net控制元件全部清空全部啟用全部禁用方法

#region//控制元件類 public class PubliClass { /// <summary> /// 清空控制元件內容 /// </summary> p

基於圖模型的智慧推薦演算法學習筆記知識圖譜/圖神經網路,不止於智慧推薦

【說在前面】本人部落格新手一枚,象牙塔的老白,職業場的小白。以下內容僅為個人見解,歡迎批評指正,不喜勿噴![握手][握手] 【再囉嗦一下】如果你對智慧推薦感興趣,歡迎先瀏覽我的另一篇隨筆:智慧推薦演算法演變及學習筆記 【最後再說一下】本文只對智慧推薦演算法中的基於圖模型的智慧推薦進行具體介紹! 一、基於知識圖

Hive Shell命令之一資料庫的操作

//資料庫的有關操作 1、如果資料庫不存在的話建立資料庫,預設資料庫default: create database if not exists test; 2、檢視hive中所包含的資料庫: show databases; 3、如果資料庫非常多,可以用正則表示式匹配篩選出需要的資料庫名。 sh

【C#】EF學習<二> DbFirst 先建立資料庫及其關聯關係

工程壓縮檔案放到百度雲盤---20181019001資料夾   1. 建立表的指令碼   create table Teacher ( TID char(12) primary key, Tname char(6) not null ) create table

MySQL定時任務event,儲存過程定時刪除指定時間前90天指定的資料

<span style="font-family: 'Microsoft YaHei'; font-size: 14px;">MySQL定時任務event</span> 由

unity網路實戰開發叢林戰爭-正式開發階段016-資料庫設計以及登入處理

使用工具:VS2017,unity3d使用語言:c#作者:Gemini_xujian參考:siki老師-《叢林戰爭》視訊教程上一篇文章中,已經完成了遊戲場景與開始介面UI的搭建,接下來將對資料庫和登入請求響應等操作進行處理。01-設計資料庫表(使用者表和戰績表)首先,我們需要

資料庫在一對一一對多多對多怎麼設計關係

開發十年,就只剩下這套架構體系了! >>>   

PHP 分類篩選 實現購物視訊等網站的列表篩選功能

比如購物網站、視訊網站等,列表頁一般都有篩選功能。思路如下,僅供借鑑: <?php // Debug: 輸出提交的資料 var_dump($_GET); // 要進行篩選的欄位 $fields = array('price','color','metal'); /

php通過curl擴展進行模擬登錄驗證碼

程序 valid 做的 .cn ica ews fclose har user 以下為本人工作中遇到的需要做的事情,之前也沒怎麽用過curl,查了好多資料,才稍微弄明白一點;本文所有內容只是自己平日工作的記錄,僅供大家參考:<?php/*** 模擬登錄*/head

Java多線程 —— 線程安全線程同步線程間通信面試題集

err 線程等待 共同點 -c java多線 能夠 空間 而不是 不一致 一、線程安全 多個線程在執行同一段代碼的時候,每次的執行結果和單線程執行的結果都是一樣的,不存在執行結果的二義性,就可以稱作是線程安全的。 講到線程安全問題,其實是指多線程環境下對共享資源的訪問可能會

網站首頁菜單欄實現

range sub sea light odin charset ctype settime hide <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="

統計字符串中大寫小寫數字的個數遍歷

小寫 logs 字符串轉換 ray png images 技術 img -1 字符串遍歷可以用字符串轉換方法中的toolCharArray();把字符串轉換為字符數組。統計字符串中大寫、小寫、數字的個數(含遍歷)

PHP 常量PHP 變量全解析超全局變量變量的8種數據類型等

ret each 回收 操作系統 js xml name static bject 單獨 常量特點 常量一旦被定義就無法更改或撤銷定義。 常量名不需要開頭的$ 與變量不同,常量貫穿整個腳本是自動全局的。 作用域不影響對常量的訪問 常量值只能是字符串或數字 設置 PHP

php文件上傳原理詳解源碼

輸入數據 最大值 cut 產生 har 默認值 接受 上傳文件 tle 1、文件上傳原理   將客戶端的文件上傳到服務器,再將服務器的臨時文件上傳到指定目錄 2、客戶端配置 提交表單 表單的發送方式為post 添加enctype="multipart/form-data"

selenium自動化測試資源整理所有版本chromechromedriverfirefox下載鏈接

網址 www mod org AD down adas mozilla 下載鏈接 1. 所有版本chrome下載 是不是很難找到老版本的chrome?博主收集了幾個下載chrome老版本的網站,其中哪個下載的是原版的就不得而知了。 http://www.slimje