嗨,我有一个代码正在上传文件并将其路径保存在数据库中。现在我想将其路径更改为保存在数据库中的相应ID,即我已经上传了一个图像,其ID在数据库中为“4”,其文件路径也应该为4。如果我上传其他图像并且如果它的 id 是 5,那么在它的文件路径列中也应该有 5,依此类推。我搜索了一段时间但找不到正确的答案。请在这里帮助我。 这是我的代码
目录图像.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>image in directory</title>
</head>
<body>
<form method="post" action="directory-imagedatabase.php" enctype="multipart/form-data">
<label>Choose File to Upload:</label><br />
<input type="hidden" name="id" />
<input type="file" name="uploadimage" /><br />
<input type="submit" value="upload" id="upload" />
</form>
</body>
</html>
directory-imagedatabase.php
<?php
$target_Folder = 'images/';
$uid = $_POST['id'];
$target_Path = $target_Folder.basename( $_FILES['uploadimage']['name'] );
$savepath = $target_Path.basename( $_FILES['uploadimage']['name'] );
$file_name = $_FILES['uploadimage']['name'];
if(file_exists('officework/php-startup/images/'.$file_name))
{
echo "That File Already Exisit";
}
else
{
// Database
$con=mysqli_connect("localhost","root","sal123","test"); //Change it if required
//Check Connection
if(mysqli_connect_errno())
{
echo "Failed to connect to database" . mysqli_connect_errno();
}
$sql = "INSERT INTO directoryimage (id,image, image_name)
VALUES ('','$target_Folder$file_name','$file_name') ";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added successfully in the database";
echo '<br />';
mysqli_close($con);
// Move the file into UPLOAD folder
move_uploaded_file( $_FILES['uploadimage']['tmp_name'], $target_Path );
echo "File Uploaded <br />";
echo 'File Successfully Uploaded to: ' . $target_Path;
echo '<br />';
echo 'File Name: ' . $_FILES['uploadimage']['name'];
echo'<br />';
echo 'File Type: ' . $_FILES['uploadimage']['type'];
echo'<br />';
echo 'File Size: ' . $_FILES['uploadimage']['size'];
}
}
?>
最佳答案
- 获取记录的插入 ID
$id = mysqli_insert_id($con)
INSERT
之后 - 获取文件扩展名:
$ext = preg_replace("/\.(gif|jpg|etc)$/", ".$1", $file_name);
- 将文件重命名为 rename()
rename("$target_Folder$file_name", $id . $ext);
- 使用类似
$sql = "UPDATE directoryimage SET image = CONCAT('{$target_Folder}', id, '{$ext}') WHERE id = $id";
的内容更新记录
关于php - 需要更改文件路径及其在数据库中的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44255813/