Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » PHP » php dizin listeleme


Yanıt
 
LinkBack Seçenekler
Old 02.02.2005   #1 (permalink)
 
EmreK's Avatar
 
Üyelik Tarihi: 06.09.2004
Yer: istanbul
Yaş: 18
Mesaj: 15
php dizin listeleme


merhaba arkadaşlar,
PHP Code:
$dizin=dir("./");
if(
is_dir($dosya) && !dosya=="." && !dosya=="..") {
    
$dizin_say++;
    echo 
"<tr><td class=\"dosya\"><li>$dosya</td></tr>";

arkadaşlar ben bu şekilde scriptin çalıştığı dizindeki klasörleri listelemek istiyorum. bu şekilde yaptığım zaman hiçbir sonuç gelmiyor fakat "if(is_dir($dosya) && !dosya=="." && !dosya=="..") {" kısmını "if(is_dir($dosya)) {" yaptığım zaman dizinler listeleniyor ama bu seferde ilk başta "." ve ".." gibi 2 tane şey geliyo. ben bunların görünmemesini istediğim için birinci yöntemi yaptım ama nedense o zaman hiçbişey görünmedi
EmreK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #2 (permalink)
 
Üyelik Tarihi: 20.06.2002
Yer: Bursa
Yaş: 31
Mesaj: 294
Re: php dizin listeleme

kısa bir araştırma yaptım şu sayfada birkaç örnek vardı PHP.net de -ki kendisini çok severiz -
bunlardan birini hafif modifiye ettim senin için, anlamadığın yer olursa yardımcı olmaya çalışırım tekrar

PHP Code:
<?
function map_dirs($path) {
   if(
is_dir($path)) {
   
/*gelen değişken bir klasör müdür? */
       
if($contents opendir($path)) {
       
/* klasör bilgisi opendir fonksiyonu ile  $contents değişkenine yükleniyor */
           
while(($node readdir($contents)) !== false) {
           
/* $contents değişkeni bir döngü ile $node değişkenine ayrıştırılıyor */
               
if (is_dir($path."/".$node)){
               
/*  elimizdeki değer klasör müdür */
                    
echo $node."<br>";
                    
/* yazalım o zaman */
               
}//end if
           
}//end while
       
}//end if
   
}//end if
}//end function

map_dirs("c:\\");

?>
__________________
AltıÜstü Tasarım (Kaliteyi Destekliyoruz)
tt | asdfClub | PublicMail | nntp2rss | reklampark

Mesaj Taci TIRSAK tarafından 02.02.2005 (19:54) yeniden düzenlendi.. Açıklama: hatalı bir satır kayması
Taci TIRSAK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #3 (permalink)
 
EmreK's Avatar
 
Üyelik Tarihi: 06.09.2004
Yer: istanbul
Yaş: 18
Mesaj: 15
Re: php dizin listeleme

çok teşekkürler,işimi gördü(açıklamalar sayesinde
EmreK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #4 (permalink)
 
EmreK's Avatar
 
Üyelik Tarihi: 06.09.2004
Yer: istanbul
Yaş: 18
Mesaj: 15
Re: php dizin listeleme

fonksiyonu düzenledim ve şu şekli aldı

PHP Code:
        $dosya_say="";
        
$dizin_say="";
        
$dosya_cesit=array();
        
$txtler=array();
################### KLASÖRLERİ GÖSTEREN FONKSİYON ####################################

function klasor($path) { 
   global 
$dizin_say;
  
   
   if(
is_dir($path)) { 
   
/*gelen değişken bir klasör müdür? */ 
       
if($contents opendir($path)) { 
       
/* klasör bilgisi opendir fonksiyonu ile  $contents değişkenine yükleniyor */ 
           
while(($dosya readdir($contents)) !== false) { 
           
/* $contents değişkeni bir döngü ile $node değişkenine ayrıştırılıyor */ 
               
if (is_dir($dosya)){ 
               
/*  elimizdeki değer klasör müdür */ 
                             
$dizin_say++;
                            echo 
"<tr><td class=\"dosya\"><li>$dosya</td><td width=\"250\" class=\"dizin\">&nbsp;</td></tr>";
                    
/* yazalım o zaman */ 
               
}//end if 
           
}//end while 
       
}//end if 
   
}//end if 
    
static $dizin_say;
}
//end function 

################# DOSYALARI GÖSTEREN FONKSİYON #####################################

function dosya($path) { 
       global 
$dosya_say;
       global 
$dosya_cesit;
       global 
$txtler;


       if(
$contents opendir($path)) { 
       
/* klasör bilgisi opendir fonksiyonu ile  $contents değişkenine yükleniyor */ 
           
while(($dosya readdir($contents)) !== false) { 
           
/* $contents değişkeni bir döngü ile $node değişkenine ayrıştırılıyor */ 
               
if (is_file($dosya)){ 
               
/*  elimizdeki değer klasör müdür */ 
                                    
$dosya_say++;
                                    if(!
in_array(substr($dosya,-3,3),$dosya_cesit)){array_push($dosya_cesit,substr($dosya,-3,3));}
                                    echo 
"<tr><td class=\"klasor\"><li>$dosya</td>";
                                    if(
substr($dosya,-3,3)=="txt"){array_push($txtler,$dosya); $sifreli_dosya=base64_encode($dosya); $oku_sifrele=md5("oku"); echo "<td width=\"250\" class=\"dosya\">&nbsp;<a href=oku.PHP?s=$oku_sifrele&d=$sifreli_dosya>Oku</a></td>";}else{
                                    echo 
"<td width=\"250\" class=\"dosya\">&nbsp;</td>"; }
                                    echo 
"</tr>"
                                    
               }
//end if 
           
}//end while 
       
}//end if 
       
static $txtler;
       static 
$dosya_say;
       static 
$dosya_cesit;
}
//end function 

#############################################################################################################
#############################################################################################################

    
        
klasor("./");
        
dosya("./"); 
ama sonuçta değişen bişey olmadı , gene dizinler listelenirken . ve .. larda çıkıyo
EmreK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #5 (permalink)
 
Üyelik Tarihi: 20.06.2002
Yer: Bursa
Yaş: 31
Mesaj: 294
Re: php dizin listeleme

ya şimdi değişkenin klasör olup olmadığını sorguladığımız satırı
PHP Code:
if (is_dir($dosya) and $dosya!="." and $dosya!=".."){ 
şeklinde değiştirirseniz probleminiz çözülür

ama
neden ilk fonksiyonda klasör olup olmadığını sorgulayan kontrole else diyerek dosyaları da listelemek yerine ikinci bir fonksiyon yazdınız? benim konu da anlamadığım bir nokta mı var? yada gece yarısına kadar çalışmanın verdiği bir aptallık mıdır bilmiyorum ama bakıyorum bakıyorum başka bir çözüm yolu göremedim? yarın sabah çaydan sonra tekrar bir bakarım
__________________
AltıÜstü Tasarım (Kaliteyi Destekliyoruz)
tt | asdfClub | PublicMail | nntp2rss | reklampark
Taci TIRSAK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #6 (permalink)
 
EmreK's Avatar
 
Üyelik Tarihi: 06.09.2004
Yer: istanbul
Yaş: 18
Mesaj: 15
Re: php dizin listeleme

Alıntı:
Taci TIRSAK tarafından gönderilen mesaj:
neden ilk fonksiyonda klasör olup olmadığını sorgulayan kontrole else diyerek dosyaları da listelemek yerine ikinci bir fonksiyon yazdınız? benim konu da anlamadığım bir nokta mı var?
şimdi iki ayrı yaptım çünkü else le yapsaydım alfabetik sıraya göre dizilcekti ve dizinlerle klasörler karman çorman olcaktı,böyle olunca dizinler üstte dosyalar altta duruyo. ilk yazdığım mesajı okursan senin dediğin gibi yaptığımı, ve aldığım sonuca bakabilirsin
EmreK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #7 (permalink)
 
EmreK's Avatar
 
Üyelik Tarihi: 06.09.2004
Yer: istanbul
Yaş: 18
Mesaj: 15
Re: php dizin listeleme

tamam ortada sorun falan kalmadı,çayını rahat rahat içebilirsin
EmreK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #8 (permalink)
 
AnIL's Avatar
 
Üyelik Tarihi: 30.09.2001
Yer: istanbul
Yaş: 27
Mesaj: 415
Re: php dizin listeleme

PHP Code:
<?PHP
$dizin 
dir("./");
while (
$dosya $dizin->read()) {
   if(
is_dir($dosya) && $dosya!=="." && $dosya!=="..")
   echo 
$dosya."\n";
}

?>
__________________
:::: AnIL'dan bu kadar:::::
AnIL şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #9 (permalink)
 
Üyelik Tarihi: 20.06.2002
Yer: Bursa
Yaş: 31
Mesaj: 294
Re: php dizin listeleme

yatmadan son bir bakıp senin çift fonksiyon yerine şöyle bir çözüm buldum işini görür mü bilmem, hem dosya ve dizinleri ayırıyor hem . veya .. çıkmıyor hemde tek değil hiç fonksiyon kullanmıyorsun

PHP Code:
<?
$arr_dosya 
= array();
$arr_dizin = array();
$path "./";
   if(
is_dir($path)) {
   
/*gelen değişken bir klasör müdür? */
       
if($contents opendir($path)) {
       
/* klasör bilgisi opendir fonksiyonu ile  $contents değişkenine yükleniyor */
           
while(($dosya readdir($contents)) !== false) {
           
/* $contents değişkeni bir döngü ile $node değişkenine ayrıştırılıyor */
               
if (is_dir($dosya)){
                   
/*  elimizdeki değer klasör müdür */
                    
if ($dosya!="." and $dosya!=".."){array_push($arr_dizin,$dosya);}
                }else{ 
                    
array_push($arr_dosya,$dosya);
               }
//end if
           
}//end while
       
}//end if
   
}//end if
echo "DİZİNLER<br>";
for (
$i=0;$i<=count($arr_dizin);$i++){
    echo 
$arr_dizin[$i]."<br>";
}
//next

echo "<br><br>DOSYALAR<br>";
for (
$i=0;$i<=count($arr_dosya);$i++){
    echo 
$arr_dosya[$i]."<br>";
}
//next

?>
__________________
AltıÜstü Tasarım (Kaliteyi Destekliyoruz)
tt | asdfClub | PublicMail | nntp2rss | reklampark
Taci TIRSAK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

listeleme , dizin , php



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql