[英]Store multiple uploads by destination folder on MySQL DB
我看到了一堆與我的問題類似但又不完全相同的問題,以某種方式,我將不得不更改當前在DB上存儲文件的方式。
我在第一個文件(getPic.php)上有以下表格:
<form enctype="multipart/form-data" method="POST" action="sendPics.php">
<font size=4 color=DarkBlue><b>Choose 5 photos of your pet:</b></font><br><br>
<input type="file" name="file[]" multiple="multiple" /><br><br>
<input name="send" type="submit" value="Upload photos">
與此相關的其他內容(sendPics.php)
$directory = "Images/";
if(!is_dir($directory)){
echo "Folder does not exist";
}else{
$file = isset($_FILES['file']) ? $_FILES['file'] : FALSE;
for ($control = 0; $control < count($file['name']); $control++){
$destiny = $directory."/".$file['name'][$control];
if(move_uploaded_file($file['tmp_name'][$control], $destiny)){
echo "Upload successful<br>";
}else{
echo "Error uploading the file";
}
}
}
$destiny = "/".$destiny;
我在MySQL中的表如下所示:
Field | Type
----------------+------------
idPetsPics | int(11)
linkProfilePic | varchar(60)
linkPhoto1 | varchar(60)
linkPhoto2 | varchar(60)
linkPhoto3 | varchar(60)
linkPhoto4 | varchar(60)
Pet_idPet | int(11) //(FK with PetsID on Pet's table)
因此,我需要存儲上傳照片的路徑。 目前,我只能將第一個存儲在DB上,盡管所有5張照片都已成功到達目標文件夾。 現在,我有:
$petID = $_SESSION['petID']; // obtained from a third file (queries to insert date into Pet)
require_once('dbConnection.php');
$insertPetPic = "INSERT INTO petPic (idPetsPics, linkProfilePic, Pet_idPet) VALUES (NULL, '$destiny', $petID[0])";
mysqli_query($conn, $insertFotoPet);
如何更改代碼以存儲所有5條路徑?
對於成功移動的每個圖像,您需要將圖像的路徑存儲在某個位置,例如在$paths
數組中:
$directory = "Images/";
$paths = array();
if(!is_dir($directory)){
echo "Folder does not exist";
}else{
$file = isset($_FILES['file']) ? $_FILES['file'] : FALSE;
for ($control = 0; $control < count($file['name']); $control++){
$destiny = $directory."/".$file['name'][$control];
if(move_uploaded_file($file['tmp_name'][$control], $destiny)){
$paths[] = $destiny;
echo "Upload successful<br>";
}else{
echo "Error uploading the file";
}
}
}
然后在查詢中使用數組中的路徑:
$insertPetPic = "INSERT INTO petPic (idPetsPics, linkProfilePic, linkPhoto1, linkPhoto2, linkPhoto3, linkPhoto4, Pet_idPet) VALUES (NULL, '$paths[0]', '$paths[1]', '$paths[2]', '$paths[3]', '$paths[4]', $petID[0])";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.