folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder PHP .TXT Okurken Sayfalama



PHP .TXT Okurken Sayfalama

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kaparike
    kaparike's avatar
    Banlanmış Üye
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek

    Bilmiyorum başlık ne kadar açıklayıcı oldu hocalar ama txt den veri okumayı ilk defa kulanmak zorunda kalıyorum. MySQL de çekerken sorguda limit belirleyerek sayfa yapısını kaç adet kayıt geleceğini oluşturabiliyoruz peki txt satır satır okurken bunu nasıl yapıyoruz ?

    Diyelim ki 3000 satırlık bir txt verisi var ve bunu 500 er den 6 sayfa şeklinde sayfalamak istiyorum nasıl yaparız ?


    Anti Envato
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    herlocksholmes
    herlocksholmes's avatar
    Kayıt Tarihi: 16/Şubat/2014
    Erkek

    döngü kullanabilirsin.


    �
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Allura
    Allura's avatar
    Kayıt Tarihi: 17/Mayıs/2009
    Erkek

    php txt split diye aratırsan bir sürü kod çıkar

     

    https://gist.github.com/elvisciotti/1783585

     

    http://www.zubrag.com/scripts/text-splitter.php

    http://stackoverflow.com/questions/5039824/php-script-to-split-large-text-file-into-multiple-files


    "
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    error_reporting(0);

     set_time_limit(0);

     $nerden = $_GET["nerden"];

     $nereye = $_GET["nereye"];

     

     $dosyaadi = "dosyaadi.txt";

     

     if($nerden<0):

     die("Nerden değeri 0dan ufak olamaz.");

     endif;

     

    $dosya = fopen($dosyaadi, 'r');

    $icerik = fread($dosya, filesize($dosyaadi));

    $parcala = explode("\n",$icerik);

    $kacsatirvar = count($parcala);

    if($nereye>$kacsatirvar):

      die("Toplam Satır Sayisi: $kacsatirvar sizin istediğiniz $nereye dir. Bu olamaz...");

     endif;

     

    for ( $say=$nerden ; $say <= $nereye ; $say++ )

    {

    echo $parcala[$say]."<br>";

    }

     

    Şeklinde goster.php olarak kaydet... Sonra goster.php?nerden=0&nereye=500 dersen 

    ilk 500 satır görüntülenir. goster.php?nerden=500&nereye=1000 dersen  500 ile 1000 görüntülenir.

     

    Not:  satır satır direk okuma yapmak için buda kullanılabilir...

     $asd = file('dosyaadi.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

     foreach ($asd as $sirasi=>$value) {

               echo $value."<br>";

    }

     

     

    Ben illa otomatik olsun diyorsan http://www.phpr.org/php-ile-sayfalama/  burayı ince okadar yazmadım.

     

     


    Php for SEO nun ardından Php for Gcode (CNC)
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kaparike
    kaparike's avatar
    Banlanmış Üye
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek
    Erdem bunu yazdı

     

     

     

    Çok teşekkür ederim hocam, bende şöyle bir kaynak buldum bu sırada bunu kullandım sizinkiyle aynı zaten hemen hemen. Tek sıkıntım şimdi datayı explode ederken bu kod ile. txt içeriğim şöyle; ABC|123|456. Bu kod bana arraya tümünü atıp veriyor.

    <?PHP
    $lines = file('test.txt');
    $perpage = 500;
    $start = isset($_GET['start']) ? $_GET['start'] : 0;
    for($i = $start; $i <= ($start + $perpage); $i++){
        if($lines[$i] != ''){
            echo $lines[$i] . '<br />';
        }
    }
    # print pages
    echo '<a href="text_split.php"><< Basa don</a> ';
    for($j = 1; $j <= (count($lines) / $perpage)-1; $j++){
        if($start == $j){
            echo $j;
        }
        else{
            echo '<a href="?start=' . ($j * $perpage) . '">' . $j . '</a> |';
        }
    }  
    ?>

    Anti Envato
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    <?PHP
    
    $lines = file('test.txt');
    
    $perpage = 500;
    
    $start = isset($_GET['start']) ? $_GET['start'] : 0;
    
    for($i = $start; $i <= ($start + $perpage); $i++){
    
        if($lines[$i] != ''){
    
        //    echo $lines[$i] . '<br />';
    
    $satiritekrarparcala = explode("|",$lines[$i]);
    
    foreach($satiritekrarparcala  as $asilicerik){
    
    echo $asilicerik."<br>";
    
    }
    
         }
    
    }
    
    # print pages
    
    echo '<a href="text_split.php"><< Basa don</a> ';
    
    for($j = 1; $j <= (count($lines) / $perpage)-1; $j++){
    
        if($start == $j){
    
            echo $j;
    
        }
    
        else{
    
            echo '<a href="?start=' . ($j * $perpage) . '">' . $j . '</a> |';
    
        }
    
    }  
    
    ?>
    
     
    
    Sanırım bunu demek istedin. Bu saatte bunu anladım hocam kusura bakma.
    Erdem tarafından 09/Oca/15 01:44 tarihinde düzenlenmiştir

    Php for SEO nun ardından Php for Gcode (CNC)
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kaparike
    kaparike's avatar
    Banlanmış Üye
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek
    Erdem bunu yazdı

    Çok doğru anlamışsın hocam teşekkür ederim :)


    Anti Envato
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    Bu arada satır satır işlem bitmeden ekrana bassın istiyorsan Fonksiyon bu : 

    function fls(){
    ob_end_flush();
    flush();
    ob_start();
    }

    Tarayıcı biraz yorabilir. Ama satır satır çıktı almak için en sondaki foreach in dışına for un bitimine eklersen teker teker sonuç alırsın.

    Büyük işlemlerde tarayıcı kasabilir o zaman eski adı ile msdos üzerinden de işlemlerini yaptırabilirsin. Tarayıcı ile uğraşmadan

     php dosyanın üzerinde sağ tıkla, özellikler.. Çalıştırma yerine

    dosya.php "c:/xammp/asd/asd/php.exe" olarak tanımla çift tıkladığında tamper boşaltma derdin felanda olmaz.

    Sanırım böle birşeylerdi. Kafa gitti 

    Kolay gelsin.. 

    Erdem tarafından 09/Oca/15 02:11 tarihinde düzenlenmiştir

    Php for SEO nun ardından Php for Gcode (CNC)
Toplam Hit: 1070 Toplam Mesaj: 8