В общем вот:
Конфиг.пхп
PHP:
<?php
$alph = 'c' ; // буква, которой не должно быть
$path = 'Z:/home/lesson.ru/www/my_folder/' ; // заканчивается на слеш, указывает путь до папки, где наш файл
$file = "domains.txt" ; // а вот и сам файл
$filename_with = 'domen_s_' ; // задаваемое имя файла для с буквой
$filename_without = 'domen_bez_' ; // задаваемое имя файла для без буквы
Рабочий файл:
PHP:
<?php
/**
* spartakus aka vasenin for prodomainer.ru
*/
require "header.html" ; // однократная вставка верха шаблона
include "conf.php" ; // подключаем файл конфигурации
echo "Искомая буква: <b style='color:grey;'>\" $alph \"</b><br />" ; // Вывод искомой буквы
echo "Путь: <b style='color:grey;'>\" $path$file \"</b><br />" ; // Вывод пути до обрабатываемого файла
echo "Файл доменов с буквой \" $alph \": <b style='color:grey;'>\" $filename_with .txt\"</b><br />" ; // Файл результатов
echo "Файл доменов без буквы \" $alph \": <b style='color:grey;'>\" $filename_without .txt\"</b><br />" ; // Файл результатов
$domains = file ( $path . $file ); //переменная равна содержимому файла путь до файла указан в скобках
$domain_without = array(); // делаем переменную массивом для implode
$domain_with = array(); // делаем переменную массивом для implode
foreach ( $domains as $domain ) // цикл перебора массива domains где значения domain
{
$domain = explode ( '.' , $domain ); // делим домен на части, делитель точка
$domain = $domain [ 0 ]; // Берём только первую часть, т.к. 0 это первое значение, если я правильно понял это ключ
if ( stripos ( $domain , $alph ) === false ) { // ищем в $domain нашу букву $alph, если не находим, то:
$domain_without [] = $domain ; //...то: значит $domain_without, что такое [] я не понял
} else { // в пртивном слечае
$domain_with [] = $domain ; // т.е. буква нашлась, значит $domain_with, что такое [] я не понял
}
}
echo "<b style='color:green;'><br />Домены с буквой \" $alph \": </b>" ; // вывод текстовой строки для удобсва визуализации
file_put_contents ( $path . $filename_with . $alph . '.txt' , implode ( "\n" , $domain_with )); // создание файла и запись в него отфильтрованных доменов, разделитель - перевод каретки
echo count ( $domain_with ); // подсчёт доменов и вывод числа
echo "<br /><b style='color:red;'>Домены без буквы \" $alph \": </b>" ; // вывод текстовой строки для удобсва визуализации
file_put_contents ( $path . $filename_without . $alph . '.txt' , implode ( "\n" , $domain_without )); // создание файла и запись в него отфильтрованных доменов, разделитель - перевод каретки
echo count ( $domain_without ); // подсчёт доменов и вывод числа
require "footer.html" ; // однократная вставка футера шаблона
---------- Сообщение добавлено в 00:19 ---------- Предыдущее сообщение было в 00:15 ----------
И да, хотелось бы некоторой разжовки, типа "Как это работает?", думаю многим станет более понятен код. Я комментировал как мог, но сами понимаете...
Некоторые вещи мне не понятны пока, например последнее замечание по скобкам. У меня скрипт не ругнулся и сработал со скобками.
Тут нормальный рабочий вариант. Только коменты поменял.
Те, кто вопросы задавал, в принципе с задачей справились. Остальные - их дело.
PHP:
<? php
/**
* spartakus aka vasenin for prodomainer.ru
*/
require "header.html" ; // однократная вставка верха шаблона
include "conf.php" ; // подключаем файл конфигурации
echo "Искомая буква: <b style='color:grey;'>\" $alph \"</b><br />" ; // Вывод искомой буквы
echo "Путь: <b style='color:grey;'>\" $path$file \"</b><br />" ; // Вывод пути до обрабатываемого файла
echo "Файл доменов с буквой \" $alph \": <b style='color:grey;'>\" $filename_with .txt\"</b><br />" ; // Файл результатов
echo "Файл доменов без буквы \" $alph \": <b style='color:grey;'>\" $filename_without .txt\"</b><br />" ; // Файл результатов
$domains = file ( $path . $file ); # функция файл открывает заданный файл (параметр - путь+имяфайла) и помещает его в массив. Подробнее смотрите на пхп.су
$domain_without = array(); # говорим, что переменная равна пустому массиву. Это полезно в случае, если
$domain_with = array(); # один из массивов будет пустым и тогда переменная не будет задана и сответвенно имплоад выдаст ошибку ибо он ждет именно массив
foreach ( $domains as $domain ) // цикл перебора массива domains где значения domain
{
$domain = explode ( '.' , $domain ); // делим домен на части, делитель точка
$domain = $domain [ 0 ]; // Берём только первую часть, т.к. 0 это первое значение, если я правильно понял это ключ
if ( stripos ( $domain , $alph ) === false ) { // ищем в $domain нашу букву $alph, если не находим, то:
$domain_without [] = $domain ; #...то в массив доменов без буквы помещаем новый домен
} else { // в пртивном слечае
$domain_with [] = $domain ; # т.е. буква нашлась, значит в массив с буквой домен этот помещаем
}
}
echo "<b style='color:green;'><br />Домены с буквой \" $alph \": </b>" ; // вывод текстовой строки для удобсва визуализации
file_put_contents ( $path . $filename_with . $alph . '.txt' , implode ( "\n" , $domain_with )); // создание файла и запись в него отфильтрованных доменов, разделитель - перевод каретки
echo count ( $domain_with ); // подсчёт доменов и вывод числа
echo "<br /><b style='color:red;'>Домены без буквы \" $alph \": </b>" ; // вывод текстовой строки для удобсва визуализации
file_put_contents ( $path . $filename_without . $alph . '.txt' , implode ( "\n" , $domain_without )); // создание файла и запись в него отфильтрованных доменов, разделитель - перевод каретки
echo count ( $domain_without ); // подсчёт доменов и вывод числа
require "footer.html" ; // однократная вставка футера шаблона