Как се четят файлове от една папка

smoke

Registered
Здравейте искам да попитам как мога да направа да се извеждат всички файлове които са с .txt разширение от дадена папка на страницата ми ?
 
Код:
<?php
$dir = "/papka/";

if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        while (($file = readdir($dh)) !== false)
        {
            if ($file != '.' && $file != '..' && filetype($dir.$file) == 'txt')
            echo "$file <br>";
        }
        closedir($dh);
    }
}
?>

не съм го тествал може да има допусната грешка

edit: грешката е моя filetype връща дали дадено нещо е файл или папка
трябва да се изпалзва http://bg.php.net/manual/en/function.glob.php
 
Пробвах кода на @6etmvg и нещо при мен не работи.
Затова драснах този:

<?php
$dir = "dir/";

if (is_dir($dir))
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if ($file != '.' && $file != '..')
$filetype = end(explode(".",$file));
if ($filetype == "txt") echo $file."<br>";
}
closedir($dh);
}
}
?>

В папката си бях сложил файлове a.txt , test.txt , text.php и не изкара a.txt нито test.txt а с кода който написах при мен ги изкарва.
Може и проблема да е от мен незнам , но с кода който даде той нe бачка , затова ако не бачка може да погледнеш този който съм дал.
 
Кои наклонени черти не разбрах ?
Променливата я бях задал $dir = "dir/"; а папката се казва dir.
Не виждам кое не съм задал.
 
proba каза:
Кои наклонени черти не разбрах ?
Променливата я бях задал $dir = "dir/"; а папката се казва dir.
Не виждам кое не съм задал.
Кой ти е казал да задаваш нещо, прочети ако трябва още няколко пъти мнението ми.
И за да не съм пълен оффтопик, ето ти още едно решение
print_r(glob("dir/*.txt"));


П.П. Не пиши "dir/", а само "dir" :idea:
 
Replace каза:
proba каза:
Просто не си махнал наклонените черти, а трябва :?:

Кои наклонени черти ?
А това за glob също е вариянт , за който обаче не съм се сетил , понеже не го използвам.
 
<?php
$dir = "dir/";

if (is_dir($dir))
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if ($file != '.' && $file != '..')
$filetype = end(explode(".",$file));
$filename = $file;
$filename = str_replace(".$filetype","",$filename);
echo $filename.",";
}
closedir($dh);
}
}
?>

Така ?
 

Back
Горе