PHP圖片上傳同時保存上傳路徑到數據庫


本片文檔記載如何將圖片上傳至自己制定的目錄文件下,同時可以將信息填入數據庫。本片文檔部分技術內容參照w3school。

首先是HTML頁面:

<form action="register.php" method="post" enctype="multipart/form-data" onSubmit="return InputCheck(this)">
  <label>圖片:<input type="file" name="file" id="file"></label><br>
  <button type="submit" id="submit">添加</button>
</form>

數據庫鏈接頁面:

<?php
 $conn = mysql_connect("127.0.0.1","root","") or die("數據庫鏈接錯誤".mysql_error());
 mysql_select_db("數據庫名",$conn) or die("數據庫訪問錯誤".mysql_error());
 mysql_query("set names utf-8");
?>

 

PHP接受頁面:

部分設定根據個人需求可進行增加刪除。

輸出語句根據個人需求輸出,無強制要求。

<?php
        
        //限制圖片類型格式,大小
        if ((($_FILES["file"]["type"] == "image/gif")
            || ($_FILES["file"]["type"] == "image/jpeg")
            || ($_FILES["file"]["type"] == "image/jpg"))
            && ($_FILES["file"]["size"] < 200000)) {
            if ($_FILES["file"]["error"] > 0) {
                echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
            } else {
                echo "文件名: " . $_FILES["file"]["name"] . "<br />";
                echo "文件類型: " . $_FILES["file"]["type"] . "<br />";
                echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
                echo "緩存文件: " . $_FILES["file"]["tmp_name"] . "<br />";

            //設置文件上傳路徑,選擇指定文件夾

                if (file_exists("../upload/" . $_FILES["file"]["name"])) {
                    echo $_FILES["file"]["name"] . " already exists. ";
                } else {
                    move_uploaded_file(
                        $_FILES["file"]["tmp_name"],
                        "../upload/" . $_FILES["file"]["name"]
                    );
                    echo "存儲於: " . "../upload/" . $_FILES["file"]["name"];//上傳成功后提示上傳信息
                }
            }
        } else {
            echo "上傳失敗!";//上傳失敗后顯示錯誤信息
        }

        //鏈接數據庫
        include('conn.php');

        //定義變量,存儲文件上傳路徑,之后將變量寫進數據庫相應字段即可
        $file = "../upload/" . $_FILES["file"]["name"];
        $sql = "INSERT INTO 表名 (字段名)
            VALUES
            ('$file')";

        if (!mysql_query($sql)) {
            die('Error: ' . mysql_error());
        }
        echo "成功添加一條記錄";//成功傳入數據后顯示成功添加一條數據
        header("Refresh:1;url=XXX.html");//成功插入數據后返回某個網頁
        ?>

數據庫自行創建,字段類型給字符型VARCHAR,長度可以留長一點(如果存儲位置深的話)

如果插入數據庫數據時有其他字段數據,可以同時寫在sql中,不會有干擾。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM