大家好我有一个网站,我的数据库上有5万张图片所有图片名称都是Party_Id我有这样的东西
Picture_Id | Party_Id | Picture_Name
1 | 1 | 1aaaa.jpg
2 | 1 | 2aaaa.jpg
3 | 2 | 3aaaa.jpg
4 | 2 | 4aaaa.jpg
网站创建时的问题是他们把所有图片保存在同一个文件夹上,现在当你需要操作任何东西或访问文件夹真的很疯狂时,ftp无法显示这么多文件。
所以我的想法就像为每个参与方ID创建一个文件夹,例如1,2,3
然后如果可能检查数据库,请选择所有图片,其中party id = 1并在文件夹1中移动,那么我可以逐个进行,然后删除或只保留原始文件夹。
我不知道该怎么做,我真的很赞赏任何帮助。
感谢。
答案 0 :(得分:0)
据我所知,你有一个派对ID,每个派对都有一些图片。因此,在数据库中插入Party Details,您将使用last_insert_id()
获取生成的一方的ID。
现在,通过这种方式,你可以正常上传图片:
$target_path = "img/" . mysqli_insert_id();
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
那么,你觉得这对你的案子来说是正确的方法吗?您现在将以这种方式获得目录结构:
img/
1/
photo_a_1.jpg
photo_a_2.jpg
photo_a_3.jpg
photo_a_4.jpg
2/
bro_wedding_1.jpg
bro_wedding_2.jpg
bro_wedding_3.jpg
3/
birthday_1.jpg
birthday_2.jpg
birthday_3.jpg
birthday_4.jpg
birthday_5.jpg
现在你可以这样使用:
<img src="img/$partyId/$fileIndex" />
答案 1 :(得分:0)
我确实喜欢这个并且工作,也许不是最好的解决方案但是做了工作
$Sql = "SELECT * FROM tabpartys WHERE Party_Id = '232'";
$Query = mysql_query($Sql, $Conn) or die (mysql_error($Conn));
while($Rs = mysql_fetch_array($Query)){
// Identify directories
$source = "../img/Fotos/".$Rs["Photo_Name"];
$destination = "../img/Fotos/232/".$Rs["Photo_Name"];
copy($source, $destination);
}