使用数据库中相同 table 的另一列(ID 号)更改上传文件的名称

Changing an uploaded file's name with another column(ID number) from same table in database

我在数据库中有一个图像 table,它包含 ID(它是一个自动递增的 post 数字)、文件名(上传文件的名称)和时间戳等。

我将文件上传到目录并将信息添加到 table。我想在上传并将信息放入数据库 table.

后更改目录中数据库 table 中的 ID 号(或订单号)的文件名

请记住,我在 php 方面有点初学者,我想通过代码的解释来学习。比如哪个字符串代表什么,哪个方法代表什么..

非常感谢您抽出宝贵时间。

这是一些代码:

    //CONNECTS TO DATABASE
    $link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if (!$link) 
    {
        die('Could not connect: '. mysqli_error());
    }

    //SELECTS DATABASE
    $db_selected = mysqli_select_db($link, DB_NAME);
    if (!$db_selected) 
    {
        die('Can\'t use' . DB_NAME . ': ' . mysqli_error());
    }

    //FILE NAME
    $userNameSend = $_FILES ['user-file']['name'];

    //INSERTS INTO DATABASE
    $sql = "INSERT INTO images (USERIMAGENAME) VALUES ('$userNameSend')";

    //CONNECTION CHECK
    if (!mysqli_query($link, $sql)) 
    {
        die('Error: ' . mysqli_error());
    }
    else 
    {
        header('Location: ./board.php');
    }
}
mysqli_close($link);

插入后(如果成功)获取最后插入行的id:

$last_id = mysqli_insert_id($link);

获取上传文件的扩展名:

$ext = pathinfo($userNameSend, PATHINFO_EXTENSION);

然后将上传的文件重命名为($upload_dir 是您保存文件的目录的路径):

rename($upload_dir.$userNameSend, $upload_dir.$last_id.".".$ext);