1

大家好,我有一个网站,里面有 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

然后,如果可以检查数据库是否像选择所有派对 id = 1 的图片并移入文件夹 1,那么我可以一个一个地做,然后删除或只保留原始文件夹。

我不知道该怎么做,我真的很感激任何帮助。

谢谢。

4

2 回答 2

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);
  }
于 2013-01-25T04:53:22.523 回答
0

我的理解是,你有一个派对 ID,每个派对都有一些照片。因此,在数据库中插入派对详细信息,您将使用last_insert_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" />
于 2013-01-25T04:05:39.323 回答