Functie - Listare fisiere din director

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

Avatar utilizator
teachme
Senior Member
Mesaje: 550
Membru din: Mar Aug 17, 2010 11:52 am

Functie - Listare fisiere din director

Mesajde teachme » Joi Iun 16, 2011 11:26 am

[php]
<?php
function listFiles($dir , $extensions='*')
{
// returns files in an array
// * = show all files (not folders)
// $extensions = 'jpg';
// $extensions = array('jpg' , 'gif' , 'png');

if ($dh = @opendir($dir))
{
$files = array();
while ($file = readdir($dh))
{
$file_part= pathinfo($file);
$ext = $file_part['extension'];
$is_restricted = FALSE;
$is_dir = FALSE;
if($extensions != '*')
{
if(is_array($extensions))
{
if(!in_array($ext , $extensions)) {$is_restricted = TRUE;}
} else {
if($ext != $extensions){$is_restricted = TRUE;}
}
}

if ($check_if_dir = @opendir($dir.'/'.$file))
{
closedir($check_if_dir);
$is_dir = TRUE;
}


if($file == '.' || $file == '..' || $is_dir || $is_restricted){continue;}
$files[] = $file;
}
closedir($dh);
return $files;

} else {
return false;
}

}
?>[/php]
si exemplu:
[php]
<?php
// Exemplu:

$folder = 'images';
$extensions = array('jpg' , 'gif' , 'png');

$files = listFiles($folder, $extensions);

if($files && !empty($files))
{
foreach($files as $file)
{
// cod pentru afisare
echo $file , '<br/>';
}

} else {

echo 'Nu sunt fisiere cu extensiile cerute.';

}
?>
[/php]



Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Joi Iun 16, 2011 9:04 pm

ceva mai complex gasiti aici http://www.tutorialeonline.net/ro/artic ... i-director

puteti folosi functia respectiva ca sa va returneze doar numele de fisiere sau doar numele directoarelor (sau ambele) sa citeasca doar in adancime de 1 diretor sau pana la terminarea tuturor subdirectoarelor...
va poate returna doar numele sau cale + nume depinde de parametrii...
1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

malahistul
PHPRomania Supporter
Mesaje: 11
Membru din: Dum Feb 22, 2009 10:54 pm

Mesajde malahistul » Vin Iun 17, 2011 4:28 pm

foarte frumoase exemplele de mai sus! totusi, ar fi preferabil (si, totodata un bun exercitiu) ca pentru versiuni de php > 5 sa folositi , mai exact Recursive Directory Iterator, Filter Iterator si Recursive Iterator Iterator (probabil si )

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Vin Iun 17, 2011 5:54 pm

1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

malahistul
PHPRomania Supporter
Mesaje: 11
Membru din: Dum Feb 22, 2009 10:54 pm

Mesajde malahistul » Dum Iun 19, 2011 12:38 pm



Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 3 vizitatori