2013-01-25 22 views
1

嗨,大家好,我有50倍成百上千的照片一个网站,我有我的数据库中的所有图片名称由Party_Id我有这样的事情从文件夹移动文件到使用名称的另一个文件夹的mysql

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

那么,如果在数据库possivel检查对于像选择所有的图片,其中方ID = 1,并在文件夹1移动,所以然后我可以一个接一个,然后删除或只保留原始文件夹。

我不知道如何做到这一点,我真的apreciate任何帮助。

谢谢。

+1

你能改说吗?你现在的PHP代码是什么? –

+0

嗨@PraveenKumar喜欢我说我没有想法如何做到这一点,我没有任何代码实际上,我知道这里是一个地方得到帮助想法不是为了完成工作,我只是要求一个开始。谢谢。 – Alvaro

+0

好的,你如何获得文件夹名称,当你说,一组文件应该在一个数字文件夹内?你在什么基础上生成这个数字? –

回答

0

我的理解是,你有一个派对ID,每个派对都有一些图片。因此,在数据库中插入派对详情,您将通过使用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" /> 
+0

是的,但我不想上传@PraveenKumar我想移动实际的图片。我遗憾地拥有数千张图片的数据库(每个缔约方大概有100个图片),我想要做一个代码,只是为了让我们知道你的结构。 – Alvaro

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); 
    } 
相关问题