Analisis Kandungan Folder dalam PHP
Katakan kita mempunyai sebuah folder dir,
yang mengandungi kedua-dua fail dan folder di dalamnya.
Mari dapatkan array nama dari folder ini:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
?>
Mari kita periksa untuk setiap nama, sama ada ia fail atau folder:
<?php
$files = array_diff(scandir('dir'), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file('dir/' . $file));
}
?>
Perhatikan bahawa nama folder yang kita imbas, ditulis di dua tempat dalam kod. Ini tidak begitu sesuai. Mari keluarkannya ke dalam pembolehubah berasingan:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
echo $file;
var_dump(is_file($dir. '/' . $file));
}
?>
Sekarang mari kita paparkan kandungan untuk semua fail pada skrin:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
if (is_file($dir. '/' . $file)) {
echo file_get_contents($dir. '/' . $file);
}
}
?>
Dapat diperhatikan bahawa laluan ke fail dikira dua kali. Mari keluarkannya ke dalam pembolehubah berasingan:
<?php
$dir = 'dir';
$files = array_diff(scandir($dir), ['..', '.']);
foreach ($files as $file) {
$path = $dir. '/' . $file; // laluan ke fail
if (is_file($path)) {
echo file_get_contents($path);
}
}
?>
Diberikan sebuah folder. Paparkan pada skrin lajur nama subfolder dari folder ini.
Diberikan sebuah folder. Paparkan pada skrin lajur nama fail dari folder ini.
Diberikan sebuah folder. Tulis ke hujung setiap fail folder ini waktu semasa.