您好,我有一个上传文件并保存其路径在数据库中的代码。现在我想改变它的路径到它在数据库中保存的相应id,也就是说我已经上传了一张图片,它的id在数据库中是'4',它的文件路径也应该是4.如果我上传其他图片并且如果它的id是5,那么在它的文件路径列中也应该有5,依此类推。我搜索了一段时间,但我无法找到正确的答案。请在这里帮助我。 这里是我的代码需要更改文件路径与其在数据库中的ID
目录image.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域? – e4c5
显然,您需要两步法,因为您需要使用'INSERT'语句创建ID,然后使用'last_insert_id'功能获取该ID。然后,您可以使用该ID和“UPDATE”保存创建的条目。 – arkascha
现在没有我想要更改保存在数据库中的文件路径,其id字段@ e4c5 –