您好,我有一個上傳文件並保存其路徑在數據庫中的代碼。現在我想改變它的路徑到它在數據庫中保存的相應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 –