- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеем рабочий скрипт:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
ini_set('session.auto_start', '1');
//ini_set('upload_tmp_dir', 'c:\tmp');
set_time_limit(120);
@session_start();
$dataCata = 'anatomy'; // имя создаваемого каталога
$txtFile = 'result.txt'; // файл с текстом
$ancorFile = 'ancor.txt'; // файл с заголовками
$tplFile = 'template.txt'; // файл шаблона .dat файлов
$mainTplFile= 'maintemplate.txt'; // Шаблон файла со ссылками
$datDir = "articles/$dataCata "; // директория для .dat файлов
$datExt = 'dat'; // расширение .dat файлов
$mainFile = 'main.dat'; // Файл со ссылками на .dat файлы
$srcCharset = 'cp1251'; // Кодировка исходных файлов
$destCharset = 'cp1251'; // Кодировка файлов на выходе
$scriptCharset = 'utf-8'; // Кодировка скрипта
$blockLength = 4000; // Максимальный размер блока в байтах из файла с текстом
$file = fopen ("engine/menu.php","a");
$str = "<li><a href=\"/$dataCata/\">$dataCata</a></li>";
if ( !$file )
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str);
}
fclose ($file);
header("Content-Type: text/html; charset=$scriptCharset");
if ($srcCharset == 'utf-8') $blockLength *= 2;
$blockLength = $blockLength % 2 > 0 ? $blockLength+1 : $blockLength;
if ( !is_dir($datDir) ) mkdir($datDir, 0777, true);
$hMain = NULL;
if ( !(@$hMain = fopen($mainFile, 'w+')) ) die("Невозможно создать файл $mainFile<br/>\b");
$hText = fopen($txtFile, 'r');
$ancors = explode("\n", $srcCharset == $scriptCharset ? file_get_contents($ancorFile) : iconv($srcCharset, $scriptCharset, file_get_contents($ancorFile)));
$template = $srcCharset == $scriptCharset ? file_get_contents($tplFile, 'r') : iconv( $srcCharset, $scriptCharset, file_get_contents($tplFile, 'r') ); // читаем шаблон
$content = '';
while ($content = fread($hText, $blockLength)) {
$fname = genName();
if (@$hDat = fopen("$datDir/$fname.$datExt", 'w')) {
$ancor = trim($ancors[rand(0, count($ancors)-1)]);
$content = $srcCharset == $scriptCharset ? trim($content) : iconv($srcCharset, $scriptCharset, trim($content));
// Генерим dat файлы по шаблону
$thisTpl = preg_replace("/(<!--.*?Kan_title.*?-->).*?(<!--.*?Kan_title.*?-->)/uism", "$1\n$ancor\n$2", $template);
$thisTpl = preg_replace("/(<!--.*?Kan_content.*?-->).*?(<!--.*?Kan_content.*?-->)/uism", "$1\n$content\n$2", $thisTpl);
$thisTpl = $scriptCharset == $destCharset ? $thisTpl : iconv( $scriptCharset, $destCharset, $thisTpl );
if (fwrite($hDat, $thisTpl)) {
echo "Файл $dataCata/$fname.$datExt записан<br/>\n";
$html = "<url>
<loc><a href=\"/$dataCata/$fname.html\">$ancor</a></loc>
</url>\n";
fwrite($hMain, iconv($scriptCharset, $destCharset, $html));
} else { echo "Ошибка записи в файл $dataCata/$fname.$datExt<br/>\n"; }
} else {
echo "Не могу записать в файл $dataCata/$fname.$datExt<br/>\n";
}
}
// Генерация уникального имени
function genName() {
return substr(md5(uniqid(rand(), true)), 0, rand(7, 13));
}
Так вот значение переменной $dataCata - 'anatomy' нужно постоянно менять, то есть скрипт отработал, заменил anatomy на biology и снова отработал, и т.д., значение переменной нужно брать из документа .txt
Попробовал считать .txt в массив построчно заменяя $dataCata, но цикл че то не рааботет, то есть работает но не завершается.
HELP!!!
что если завернуть всё в ещё 1 цикл, каждый раз при отработке которого будет обновляться $dataCata?
например, если $dataCata в массиве можно сделать
for($i=0;$i<count($dataCataArray);$i++){
$dataCata=$dataCataArray[$i];
}