• 22-07-2010, 01:21:54
    #1
    Üyeliği durduruldu
    Merhaba,
    Şu kod ile dizinde bulunan dosyaları listeliyorum.

    $dizin_ac = opendir("deneme");
    while ($dosya = readdir($dizin_ac))
      echo "<img src=deneme/$dosya width=50 height=50>";
    Dizin içerisinde 4 fotoğraf var. İki tane de "açılamayan image" çıkıyor.
    site.com/deneme/deneme/ dizininden çekiyorum image dosyalarını. Bu açılamayan imagelerin, image adresleri şöyle:
    site.com/deneme/deneme/
    site.com/deneme/


    Kodu şu şekilde çalıştırdığımda ise:
    $i = 1;
    $dizin_ac = opendir("deneme");
    while ($dosya = readdir($dizin_ac))
      echo "$i numaralı dosya: $dosya";
     $i++;
    1 numaralı dosya: asdf.jpg
    2 numaralı dosya: dsfgsdf.jpg
    3 numaralı dosya: sadfw.jpg
    4 numaralı dosya: alksdj.jpg
    5 numaralı dosya: ..
    6 numaralı dosya: .


    şeklinde çıkıyor.
    Yani son iki (sözde) dosyanın görünmemesini istiyorum.

    Yardımcı olursanız sevinirim.
  • 22-07-2010, 01:51:58
    #2
    Üyeliği durduruldu
    if($dosya !="cvkvxv.jpg")
    echo "<img src=deneme/$dosya width=50 height=50>";
  • 22-07-2010, 02:40:52
    #3
    Üyeliği durduruldu
    strpos() adında bir fonksiyon buldum ve bu fonksiyonu kullanarak sorunu çözdüm Teşekkürler.

    $dizin = "deneme";
    $dizin_ac = opendir($dizin);
    	while ($dosya = readdir($dizin_ac)) {
    $str = strpos($dosya,"jpg",0);
    if(($str==TRUE)){
    	echo "dosyalar: $dosya <br>";
    }
    }
  • 22-07-2010, 06:43:58
    #4
    Üyeliği durduruldu
    strpos ile sağlıklı olmaz. İsminde jpg geçen bir dosya varsa ama uzantısı farklıysa bunuda ekrana bastırır.

    Şu şekilde yapman daha sağlıklı olacaktır, diye düşünüyorum.

    <?php
        $dizin = 'dizin';
        $diziniAc = opendir($dizin);
        $dosyaTuru = 'jpg'; // $dosyaTuru = ''; olursa sadece dizinler listelenir.
        while( $dosya = readdir($diziniAc) ) {
            $uzanti = pathinfo($dosya);
            if( $uzanti['extension'] != $dosyaTuru )
                echo $dosya.'<br/>';
        }
    ?>
  • 22-07-2010, 12:39:38
    #5
    $tut = glob("deneme/*.jpg");
    print_r($tut);
  • 24-07-2010, 01:00:24
    #6
    Üyeliği durduruldu
    ne çok çözüm çıkmış : ) teşekkür ederim : )
    pathinfo() olayı iyiymiş