เดิมไฟล์ backup ถูกเก็บในรูปแบบ ปี เดือน วัน โปรเจ็ค เช่น 2015-07-10-joomla.sql, 2015-07-10-joomla.zip, 2015-07-10-prestashop.sql, 2015-07-10-prestashop.zip ทุกๆวัน วันละ 4 ไฟล์ ถ้าเก็บแบบนี้ทุกวันก็จะมีไฟล์ 1,440 ไฟล์ เริ่มจะรก จะลบไฟล์แบ็กอัพเก่าๆ ออกก็ไม่สดวก ถ้ามีโปรเจ็คที่ต้องดูแลมากกว่านี้

ก็มีความคิดว่า ทำไม่ไม่เก็บ backup เป็น directory ปี เดือน วัน ละ เวลาลบจะได้ง่ายๆ อยากจะลบปีก่อนทั้งปี ก็แค่คลิก 2 ครั้งก็เสร็จ ลบ 3 เดือนที่แล้วก็ไม่ยาก มันแยกไว้อยู่แล้ว แต่ก่อนอื่นก็ต้องย้ายไปเก็บให้ถูกที่ก่อน

PHP มี function glob ช่วยหาไฟล์ตามรูปแบบอยู่ ทำให้เขียน code หาไฟล์ตามรูปแบบได้ ไม่ยากนัก

[code language=”php”]
<?php
/* find file */
$root = ‘backup’;
foreach (glob($root.’/*-*’) as $filename) {
/* get path */
$path = explode(‘/’, $filename);
list($year, $month, $date) = explode(‘-‘, $path[1]);

/* create folder */
$dir = $root.’/’.$year.’/’.$month.’/’.$date;
if (!is_dir($dir)) {
mkdir($dir, 0644, true);
}

/* move file */
rename($filename, $dir.’/’.$path[1]);

}
[/code]

rt :
สร้างโฟลเดอร์ตัวอักษรไทย
คัดลอกหมดทั้งโฟลเดอร์