Это ниже просматривает файлы в каталоге, считывает их и сохраняет их в файлах не более 500 строк в новый каталог.Это прекрасно работает для меня (спасибо Даниэль), но мне нужна модификация.Я хотел бы сохранить файлы на основе альфа-номера.
Сначала сортировка массива по алфавиту численно (уже в нижнем регистре) будет первым шагом, который я предполагаю.
Схватите все строки в каждом $входящие. "/. txt", которые начинаются с "a" и помещают их в папку по $ save500. "/ a", но не более 500 строк каждая.(Я думаю, что было бы лучше начать с первого в верхней части сортировки, поэтому «0», а не «a», верно?)
Все строки, начинающиеся с цифры, идут в $ save500. "/num".
Ни одна из строк не будет начинаться с чего-либо, кроме a-z0-9.
Это позволит мне более эффективно искать совпадения в моих файлах, используя этот метод flatfile.Сужение до одной папки.
$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++;
}
Каждая из них должна содержать не более 500 строк.
Я перейду к mysql позже.Только делаю это пару месяцев.
Как будто этого недостаточно.Я даже думал снять первые два символа.Создание каталогов с подпрограммами от a / 0 до z / z!
Может быть неправильный подход выше, поскольку нет ответов.
Но я хочу, чтобы слово типа aardvark было сохранено в 1.txt в a /папка (добавление).Если в 1.txt нет 500 строк, сохраните его в формате a / a 2.txt.
Таким образом, xenia будет добавлена в файл 1.txt папки x / e, если нет 500 строк, поэтому создайте 2.txt исохраните его там.
Затем я смогу более эффективно искать эти слова, не загружая тонну в память и не просматривая файлы / строки, которые не будут содержать совпадений.
Спасибо всем!