วิธีสร้างบัญชีไฟล์โดยเรียงตามวันที่ by

30
Jun
0

วิธีนี้จะเป็นการสร้างประยุกต์ใช้ function ภายใน file helper ของ codeigniter ซึ่งรุ่นใหม่ๆ ผมไม่แน่ใจว่ามีวิธีสำเร็จรูปไว้แล้วหรือยัง
ที่แน่ๆ รุ่นที่กำลังใช้งานอยู่มันยังไม่มีรูปแบบสำเร็จรูป เลยต้องสร้าง function สำหรับใช้งานเอง เนื่องจาก function เตรียมไว้ใช้กับการเรียงไฟล์ที่อัพโหลดขึ้นมาบน server เรื่องเวลาที่ซ้ำกันจริงตัดออกไปนะครับ
function file_list_by_date(&$a_ret, $path, $reverse = TRUE) {
$buffer = array();
foreach (get_filenames($path) as $each) {
$buffer[get_file_info("{$path}{$each}", 'date')['date']] = $each;
}
$a_key = array_keys($buffer);
if ($reverse) {
rsort($a_key);
} else {
sort($a_key);
}
foreach ($a_key as $each) {
$a_ret[] = $buffer[$each];
}
}

อธิบายทีละบรรทัดได้ดังนี้

  1. บรรทัดแรกประกาศตัวแปล array ไว้รอรับ
  2. ใช้ foreach เพื่อวนรายชื่อไฟล์ใส่ตัวแปร
  3. นำวันที่ ในที่นี้จะเป็น timestamp มาเป็น key ของ array
  4. ใช้ function array_keys เพื่อนำ key ทั้งหมดมาใส่ไว้ในตัวแปร
  5. เลือกการ sort โดย sort ปกติ จะน้อยไปหามาก ส่วน rsort จะเป็นมากไปหาน้อย
  6. ถ้าสังเกตจากการประกาศ function $a_ret เราส่งเข้ามาเป็น pointer สำหรับ push ข้อมูลเข้าไปต่อท้ายได้เลย
  7. ทำการ push ข้อมูลตามลำดับด้วย key ที่ผ่านการจัดเรียงมาแล้ว

Enjoy this article?

Consider subscribing to our RSS feed!

ไม่มีความเห็น

ยังไม่มีความเห็น

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน