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);
}
}
?>
ෆෝල්ඩරයක් ලබා දී ඇත. මෙම ෆෝල්ඩරයෙන් ලබාගත් උපෆෝල්ඩරවල නම් තීරුවක් ලෙස තිරය මත ප්රදර්ශනය කරන්න.
ෆෝල්ඩරයක් ලබා දී ඇත. මෙම ෆෝල්ඩරයෙන් ලබාගත් ගොනුවල නම් තීරුවක් ලෙස තිරය මත ප්රදර්ශනය කරන්න.
ෆෝල්ඩරයක් ලබා දී ඇත. මෙම ෆෝල්ඩරයේ ඇති සෑම ගොනුවක අවසානයටම වර්තමාන වේලාව ලියන්න.