我正在使用我的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 :(得分:1)
请参阅http://php.net/manual/en/function.rename.php
您可能应该依赖其他一些机制来订购文件。我建议您在数据库中按字段添加订单并根据该字段进行排序。这样,您可以使文件的排序与您提供的文件无关。