วิเคราะห์เนื้อหาในโฟลเดอร์ด้วย PHP
สมมติว่าเรามีโฟลเดอร์ dir
ซึ่งประกอบด้วยทั้งไฟล์และโฟลเดอร์
ลองรับอาร์เรย์ของชื่อจากโฟลเดอร์นี้:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
สำหรับแต่ละชื่อ ลองตรวจสอบว่ามันเป็นไฟล์ หรือโฟลเดอร์:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
สังเกตว่าชื่อโฟลเดอร์ที่เรา สแกน ถูกเขียนในโค้ดสองตำแหน่ง ซึ่งไม่สะดวกมากนัก ลองแยกชื่อนี้ออกมาเป็นตัวแปรแยก:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
ตอนนี้สำหรับไฟล์ทั้งหมด ลองแสดง เนื้อหาของพวกมันบนหน้าจอ:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
if (is_file($dir. '/' . $file)) {
echo file_get_contents($dir. '/' . $file);
}
}
?>
จะสังเกตได้ว่าเส้นทางไปยังไฟล์ถูกคำนวณ สองครั้ง ลองแยกมันออกมาเป็นตัวแปรแยก:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
$path = $dir. '/' . $file; // เส้นทางไปยังไฟล์
if (is_file($path)) {
echo file_get_contents($path);
}
}
?>
กำหนดโฟลเดอร์มา ให้แสดงชื่อของ โฟลเดอร์ย่อยจากโฟลเดอร์นี้เป็นคอลัมน์
กำหนดโฟลเดอร์มา ให้แสดงชื่อของ ไฟล์จากโฟลเดอร์นี้เป็นคอลัมน์
กำหนดโฟลเดอร์มา ให้เขียนช่วงเวลาปัจจุบัน ลงในตอนท้ายของแต่ละไฟล์ในโฟลเดอร์นี้