PHP - alpha tür bir dizinde birkaç dosya hatları ve "x" dosyaları kaydedin

0 Cevap php

This below goes through files in a directory, reads them and saves them in files of 500 lines max to a new directory. This works great for me (thanks Daniel) but, I need a modification. I would like to save to alpha num based files.

İlk olarak, sayısal olarak (zaten küçük) sıralama dizi alfa ben varsayalım ilk adım olacaktır.

Grab all of the lines in each $incoming."/.txt" that start with "a" and put them into a folder at $save500."/a" but, a max of 500 lines each. (I guess it would be best to start with the first at the top of the sort so "0" not "a" right?)

Bir sayı ile başlayan tüm hatlar, $ save500 gidin. "/ Num".

Hatlarının hiçbiri-z0-9 şey ama başlayacaktır.

Bu bana bu flatfile yöntemi kullanarak daha verimli bir maç için benim dosyaları aramak için izin verir. Bir klasöre daraltarak.

$nextfile=0;
    if (glob("" . $incoming . "/*.txt") != false){
     $nextfile = count(glob("" . $save500 . "/*.txt"));
     $nextfile++;
    }
    else{$nextfile = 1;}
    /**/
     $files = glob($incoming."/*.txt");
     $lines = array();
     foreach($files as $file){
     $lines = array_merge($lines, file($file, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES));
    }
     $lines = array_unique($lines);
    /*this would put them all in one file*/
    /*file_put_contents($dirname."/done/allofthem.txt", implode("\n", $lines));*/
    /*this breaks them into files of 500*/
     foreach (array_chunk($lines, 500) as $chunk){
     file_put_contents($save500 . "/" . $nextfile . ".txt", implode("\n", $chunk));
     $nextfile++;
    }

Her halen 500 hatlarının maksimum olması gerekiyor.

Ben daha sonra mysql mezun olacak. Sadece bir kaç ay şimdi bunu yapıyor.

Bu yeterli değilmiş gibi. Hatta ilk iki karakter kalktıktan düşündüm. Z / z aracılığıyla denizaltılar a / 0 ile dizinleri yapma!

Hiçbir tepkiler beri yukarıda yanlış bir yaklaşım olabilir.

Ama 1.txt bir / bir klasör (ekleme) kaydedilir aardvark gibi bir kelime istiyorum. 1.txt 500 hatları olmadıkça sonra / bir 2.txt kaydedin.

500 satırlar çok 2.txt oluşturmak ve oraya kaydedin olmadıkça Yani xenia x / e klasör 1.txt dosyaya eklenecek olacaktır.

Sonra belleğe bir ton yükleme ya da bir maç içermez dosyaları / hatları aracılığıyla döngü olmadan daha verimli bu kelimeleri aramak mümkün olacak.

Herkese teşekkürler!

0 Cevap