gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 23:43:37 26 4
gpt4 key购买 nike

我在数据库中有一个图像表,其中包含 ID(它是一个自动递增的帖子编号)、文件名(上传文件自己的名称)和时间戳等。

我将文件上传到目录并将信息添加到表中。在上传并将信息放入数据库表后,我想使用目录中数据库表中的 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);

关于php - 使用数据库中同一表中的另一列(ID 号)更改上传文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31958257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com