Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

zip dosyanın içindeki dosya sayısını öğrenme

Konu, 'PHP' kısmında Adem GENÇ tarafından paylaşıldı.

  1. Adem GENÇ

    Adem GENÇ Daimi Üye

    Kayıt:
    11 Kasım 2012
    Mesajlar:
    872
    Beğenilen Mesajlar:
    5
    Meslek:
    Bina Elektronik Sistemleri
    Şehir:
    İstanbul
    Merhaba,

    Bir ZIP dosyanın içinde kaç tane dosya olduğunu öğrenmek için aşağıdaki kod kullanılıyor
    PHP:
    $za->numFiles
    Kullanılıyor ama bu kod dizinleride sayıyor dosya + dizin den yine daha fazla çıkıyor

    Aşağıdaki kod ile dizi oluşturuluyor, bu dizi ile klasörlerin sayısını bulabilirmiyiz? Yada nasıl yapmak lazım?
    PHP:
    $za = new ZipArchive();

    $za->open('dosya.zip');


    for (
    $i=0$i<$za->numFiles;$i++) {


        echo 
    "<pre>"
          
    print_r($za->statIndex($i));
        echo 
    "</pre>"

    }

    Örnek dizi çıktısı
    Kod:
    Array
    (
        [name] => ..//Pager/Common.php
        [index] => 0
        [crc] => 1895665195
        [size] => 49349
        [mtime] => 1240350534
        [comp_size] => 10598
        [comp_method] => 8
    )
    
    Array
    (
        [name] => ..//Pager/examples/
        [index] => 1
        [crc] => 0
        [size] => 0
        [mtime] => 1541244600
        [comp_size] => 0
        [comp_method] => 0
    )
    
    Array
    (
        [name] => ..//Pager/examples/example.php
        [index] => 2
        [crc] => 3850287181
        [size] => 1920
        [mtime] => 1240350534
        [comp_size] => 825
        [comp_method] => 8
    )
    
    Acaba [size] => 0 bunu dikkate alarak dizinler sayamayız mı? Bir türlü yapamadım
    Dizin olanlar boyutu hep sıfır
     
  2. gk

    gk Üye

    Kayıt:
    24 Aralık 2009
    Mesajlar:
    148
    Beğenilen Mesajlar:
    22
    Meslek:
    Yazılım Geliştirici
    Şehir:
    İstanbul
    PHP:
    <?php
    $za 
    = new ZipArchive();
    $za->open('dosya.zip');
    $dosyasayisi 0;

    for (
    $i=0$i<$za->numFiles;$i++) {
        
    $arr $za->statIndex($i);
        
    $name $arr["name"];
        
    $lastchar substr($name, -1);
        if (
    $lastchar != "/")
            ++
    $dosyasayisi;
    }
    echo 
    "Dosya Sayısı : "$dosyasayisi;
    ?>
     
    Adem GENÇ bunu beğendi.
  3. Adem GENÇ

    Adem GENÇ Daimi Üye

    Kayıt:
    11 Kasım 2012
    Mesajlar:
    872
    Beğenilen Mesajlar:
    5
    Meslek:
    Bina Elektronik Sistemleri
    Şehir:
    İstanbul
    Çok teşekkür ederim, tam istediğim