Переименовать все файлы в папке - PullRequest
0 голосов
/ 03 ноября 2011

У меня приложение для 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 изображений, так что это должен быть какой-то цикл.

Спасибо за помощь:)

1 Ответ

1 голос
/ 03 ноября 2011

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

Возможно, вам следует обратить внимание на использование какого-то другого механизма для упорядочивания ваших файлов. Я бы посоветовал вам добавить порядок по полю в вашей базе данных и отсортировать по нему. Таким образом, вы можете сортировать файлы независимо от имени, которое вы им даете.

...