Saya punya masalah aneh ini.
Saya memiliki file saya bernama 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg.
Nah, saya ingin orang bisa mengurutkannya, jadi saya pikir, kalau mau 3 jadi 2 misalnya, tinggal rename 3.jpg ==> 1b.jpg. Ini menempatkannya di antara 1 dan 2!
Sekarang tinggal ganti nama semua file di folder tersebut, dan voila! Namun, hal ini tampaknya tidak berhasil...
Kode saya adalah:
// Part 1
$fileUp = $_POST['imageURL'];
$url = $_SERVER['DOCUMENT_ROOT'].$fileUp;
$fileParts = pathinfo($fileUp);
$fileName = $fileParts['filename'];
$fileExt = $fileParts['extension'];
$fileFolder = $fileParts['dirname'];
$newName = $fileName - 2;
$newFullName = $newName . 'b.' . $fileExt;
$directory = $_SERVER['DOCUMENT_ROOT'].$fileFolder.'/';
rename($url, $directory.$newFullName);
// Part 2
$dirFiles = array();
if ($handle = opendir($directory)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$dirFiles[] = $file;
}
}
closedir($handle);
}
sort($dirFiles);
$i = 1;
foreach($dirFiles as $file)
{
$fileParts = pathinfo($file);
$fileExt = $fileParts['extension'];
$newName = $i . '.' . $fileExt;
rename($directory.$file, $directory.$newName);
$i++;
}
Bagian 1 pada dasarnya mengganti nama file yang akan di-up. Ini bekerja! Namun, jika saya memuat ulang file menggunakan readdir, gambar ini tidak berada di tempat yang seharusnya (seringkali di akhir).
Jadi Bagian 2 adalah tentang mengganti nama semua file. Namun, saat saya mengaktifkan bagian 2, gambar sebelum gambar di atas menghilang!
Jadi misalnya, jika saya memiliki "1.jpg, 2.jpg, 3.jpg", dan saya ingin menambah 2.jpg, saya mendapatkan: "2.jpg, 3.jpg" (2 dan 3 belum' t mengubah nama mereka, 1.jpg menghilang begitu saja...)
Semua bantuan sangat dihargai!