2011-11-02 109 views
0

我有我的iPhone应用程序从我的数据库中删除选定的图像,删除了我想要的图像后,它需要重命名文件夹中剩下的所有其他图像。所以说我的文件夹有3个图像:img1,img2,img3等。说我删除img1,我继续和unlink()它,现在我需要将img2重命名为img1,然后将img3重命名为img2。重命名文件夹中的所有文件

这里是我的代码,现在

<?php 
$dbc = mysql_connect('hostname', 'login', 'password'); 
if(!$dbc){ 
die('not connected : ' . mysql_error()); 
} 

$db_selected = mysql_select_db("database", $dbc); 
if(!$db_selected){ 
die("could not connect to DB : " . mysql_error()); 
} 

$username = $_GET['username']; 
$image = $_GET['imagename']; 

$check = mysql_query("SELECT image FROM members WHERE username='$username'"); 
$findMem = mysql_num_rows($check); 

if($findMem > 0){ 

while($row = mysql_fetch_array($check) or die(mysql_error())){ 
$images = $row["image"]; 
$images = $images - 1; 
unlink("./$image"); 

mysql_query("UPDATE members SET image='$images' 
WHERE username='$username'"); 
} 

$path = "$username/default/"; 


$files = glob("{$path}/{*.jpg,*.jpeg,*.png}", GLOB_BRACE); 


function filetime_callback($a, $b) 
{ 
    if (filemtime($a) === filemtime($b)) return 0; 
    return filemtime($a) > filemtime($b) ? -1 : 1; 
} 

// Then sort with usort() 
usort($files, "filetime_callback"); 

} 

?> 

正如你看到的,我有一个功能设置将通过创建日期排序的所有文件。

我仍然想创建的日期保持不变,我只需要重命名文件夹内的文件。可能有50个图像,所以它必须是某种循环。

感谢您的帮助:)

+0

看不出为什么你真的需要重新命名,为什么不保留文件名,因为它们是? – 2011-11-02 23:02:13

+0

感谢您更改我的sql数据库密码和用户名的管理员。我忘了修改它 – Jacob

+0

因为我想要订购我的数据库 – Jacob

回答

1

http://php.net/manual/en/function.rename.php

你或许应该看看依靠其他一些机制虽然订购您的文件。我建议你在数据库中按字段添加一个订单并根据它进行排序。这样,您可以让文件独立于您提供的名称进行排序。

+0

好吧生病检查出来。谢谢 – Jacob