Php başlığı altında bu yazımızdaki konumuz bir dizindeki dosyaları (klasörleri ve dosyaları ayrı ayrı) listelemek. Bu temel üzerine neler yapılabilir?
Konuya kodumuzla başlayalım.
<?php
$dizin = opendir('.');
if ($dizin)
{ while ($dosya = readdir($dizin))
{
if($dosya=='.' OR $dosya=='..') // . ve .. 'ları siler
{$dosya='';}
if(is_dir($dosya)) // sadece klasörleri seçer
{ $klasorler[]=$dosya;} //klasörleri 'klasörler' isimli diziye ekler
if(!is_dir($dosya)) // sadece dosyaları seçer
{ $dosyalar[]=$dosya;} //klasörleri 'klasörler' isimli diziye ekler
} }
sort($klasorler); // klasörler dizisindekileri ismine göre sıraya sokar
sort($dosyalar); // dosyalar dizisindekileri ismine göre sıraya sokar
echo "Klasörler --> ";
foreach ($klasorler as $tekklasor)
{echo $tekklasor.'- '; }
echo "Dosyalar--> ";
foreach ($dosyalar as $tekdosya)
{ echo $tekdosya.'- '; }
?>
2 – Dizinimizi belirliyoruz. Tek nokta (.) dosyanın bulunduğu dizin anlamına gelir.
3 – Dizin doğru ise aşağısında belirtilen işlemleri yerine getireceğiz.
4 – Bir döngü oluşturup, dizinde bulunun bütün öğeleri tek tek çağırıyoruz ve ‘$dosya’ değişkenine atıyoruz.
6,16 – Bu satırlar arasında neler yapıldığı kodda yanlarına yazdım
18 ve 23 – Bu satırlarda ekrana “Klasörler” ve “Dosyalar” yazıyoruz.
20,21 ve 24,25 – Bu satırlarda foreach kullanarak dizerdeki elemanları tek tek ekrana yazdırıyoruz.
WordPressin anadizininde bu kodun ekran çıktısı yaklaşık olarak şöyle olacaktır.
Klasörler–> wp-admin – wp-content – wp-includes
Dosyalar –> index.php – wp-atom.php- wp-blog-header.php- wp-comments-post.php
Aslına bakarsanız bu kodu daha güzel görünmesi için html etiketleriyle süslemiştim fakat o zaman bu makalede o etiketler görünmüyorlardı. Mesela her dosyayı ve klasörü br etiketiyle alt alta yazdırmıştım ama burada yazarken görünüm bozulduğu için böyle yan yana yazılan şeklini anlattım.
Yukarıda kullandığım bütün dizi fonksiyonlarının nasıl kullanıldığını ve örneklerini burada bulabilirsiniz.
Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.
Ömer
24 Haziran 2009
foreach ($dosyalar as $tekdosya)
{
if(is_file($tekdosya)):
echo $tekdosya;
endif;
}
şeklinde dosyanın varop olmadığını kontrol ederek (.) (..) daha rahat kurtulunabilir. Paylaşım için teşekkürler …
memet
15 Mart 2010
hocam ben bu kodları resim icin kullandım sadece resmin ismi gozukuyor bide resmin kendisini goruntulemke icin kod verirmisini tesekkurler
Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.
Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...
YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...
Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....
Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...
Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...
Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.
yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.