Bir klasörüm var. Bu dosyadaki her dosyayı bir diziye eklemek istiyorum ve daha sonra hepsini bir foreach döngüsünde yankılamak istiyorum.
Bunu yapmanın en iyi yolu nedir?
Teşekkürler!Dizinin içeriği (php)
6
A
cevap
15
ScanDir Eğer http://php.net/manual/en/function.scandir.php
<?php
$dir = '/tmp';
$files1 = scandir($dir);
print_r($files1);
?>
Veya kullanmak opendir kombinasyonu ve readdir http://php.net/manual/en/function.readdir.php
1
linux üzerinde (onlar bir nokta ile başlar) gizli ve üst dizinleri filtrelemek unutmayın bu
http://ca3.php.net/manual/en/function.scandir.php
çok daha kolay olsun yok.
0
Edit aradığınızı geçerli: dwich cevap daha iyidir. Bunu sadece bilgi için bırakacağım.
<?php
if ($handle = opendir('/path/to/dir')) {
echo "Directory handle: $handle\n";
echo "Files:\n";
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
closedir($handle);
}
?>
Bu yardımcı olur umarım.
-Alberto
1
Bir Alternatif:
define('PATH', 'files/');
$filesArray = array();
$filesArray = glob(PATH . '*', GLOB_ONLYDIR);
Bu yöntem dosya türüne göre/filtre a belirtmek için izin verir. ÖRNEĞİN,
define('PATH', 'files/');
define('FILE_TYPE', '.jpg');
$filesArray = array();
$filesArray = glob(PATH . '*' . FILE_TYPE, GLOB_ONLYDIR);
Ayrıca parametresini kaldırarak dosyaya TAM yol adını alabilir 'GLOB_ONLYDIR'
Bu da alt klasörlerde dosya ve klasörler için çalışır
1
. Klasörlerin listesini ve yollarını içeren dosyaların listesini döndür.
$dir = __DIR__; //work only for this current dir
function listFolderContent($dir,$path=''){
$r = array();
$list = scandir($dir);
foreach ($list as $item) {
if($item!='.' && $item!='..'){
if(is_file($path.$item)){
$r['files'][] = $path.$item;
}elseif(is_dir($path.$item)){
$r['folders'][] = $path.$item;
$sub = listFolderContent($path.$item,$path.$item.'/');
if(isset($sub['files']) && count($sub['files'])>0)
$r['files'] = isset ($r['files'])?array_merge ($r['files'], $sub['files']):$sub['files'];
if(isset($sub['folders']) && count($sub['folders'])>0)
$r['folders'] = array_merge ($r['folders'], $sub['folders']);
}
}
}
return $r;
}
$list = listFolderContent($dir);
var_dump($list['files']);
var_dump($list['folders']);
İlgili konular
- 1. PHP - dizinin
- 2. İki dizinin içeriği arasındaki fark
- 3. PHP ilişkisel dizinin anahtarları (dizinler) sınırlamaları?
- 4. Dizinin ilk dizini olarak itme PHP
- 5. php olarak ilişkisel dizinin değer indeksini bulunuz?
- 6. php: dosya olarak değişken içeriği indir
- 7. PHP yanıtı olarak gzip içeriği nasıl gönderilir
- 8. pascal dizinin dosya ve dizinin
- 9. içeriği
- 10. Değişim içeriği
- 11. Dizinin genel dizinlerini kaldırın
- 12. PHP, karmaşık geniş bir dizinin nasıl yapıldığını basit
- 13. PHP dizinin önceki bölümlerini saklayarak önceki bölümden ayırın
- 14. Değişim DIV içeriği kullanarak ajax, php ve jQuery
- 15. Php - İçeriği (alt klasörleri vb.) Tarayıcıda sıkıştırılmadan nasıl klasör indirilir?
- 16. Php: sütundaki tüm içeriği çıktı sadece ilk öğe değil
- 17. php isteği ile html'de http içeriği nasıl iade edilir?
- 18. Php değerlerine sahip bir div içeriği nasıl değiştirilir?
- 19. Bir dizinin
- 20. Swift, dizinin
- 21. ESLint, dizinin
- 22. $ _POST değişkeni dizinin değeri olarak
- 23. İçeriği değiştirilmeden dizgiler dizisi geçiriliyor
- 24. Bu dizinin anahtarını nasıl tanımlarım?
- 25. aynı içeriği
- 26. değiştirilmesi içeriği()
- 27. WebBrowser içeriği
- 28. PHP Dize eşdeğeri dizgi
- 29. kullanma Kor Biraz dizinin değiĢiklik gözlemlemek "gözlemler (..)"
- 30. Bootstrap Carousel slayt gösterisi web sitesi içeriği ve içeriği bozuyor
Örnek olarak yalnızca PHP 5. + 1 olsa bile, bunun 'readdir'den daha iyi olduğunu düşünüyorum. – Donovan