берем нужную строку $content[252] (потому как массив начинается с 0)
// проверяем существование строки
if (array_key_exists(252, $content)) {
// добавляем $ip к строке
$content[252] .= ' '.$ip;
// пишем в файл
file_put_contents($filepatch, join("\n", $content));
}
НО! этот способ с работает верно если строка - deny from IP IP IP, всегда будет 253
иначе и правильнее, прочитать и парсить нужную строку в .htaccess с помощью preg_match()
затем изменять и перезаписывать .htaccess
а это уж немного другой вопрос и код..
P.S. код на странице закомментировать
Собственно.. как говориться "Не зная брода, не лезь в воду"..
это я к тому что выше приведен код в котором нет строки 253, но есть код который добавляет в конец файла .htaccess
директивы доступа к файлу (admin|12312426)\.php c указанных IP..
а это половина информации..
нужная для изменяемая строка 253 находится в файле .htaccess код которого отсутствует..
поэтому более точно ответить не просто.
$fcontents = implode ('', file('banip.txt')); // считали файл в массив
// тут откроем для записи файл или что-то еще сделаем
$log = fopen("banip.txt", "w+");
foreach($fcontents as $k=>$v){
if($k ==252) {
fwrite($log, "// ".$ip."\n");
}
fwrite($log, "// ".$v."\n");
}
fclose($log);
Написано на коленке, при кривом исполнении файл можно потерять, лучше через копию делать, но принцип примерно такой
Прошёл месяц наполнения, все новости были написаны в срок, подобраны тематические видео и картинки, отличное качество и цена
берём файл '.htaccess' и кладем данные в массив построчно
берем нужную строку $content[252] (потому как массив начинается с 0)
НО! этот способ с работает верно если строка - deny from IP IP IP, всегда будет 253
иначе и правильнее, прочитать и парсить нужную строку в .htaccess с помощью preg_match()
затем изменять и перезаписывать .htaccess
а это уж немного другой вопрос и код..
P.S. код на странице закомментировать
Собственно.. как говориться "Не зная брода, не лезь в воду"..
это я к тому что выше приведен код в котором нет строки 253, но есть код который добавляет в конец файла .htaccess
директивы доступа к файлу (admin|12312426)\.php c указанных IP..
а это половина информации..
нужная для изменяемая строка 253 находится в файле .htaccess код которого отсутствует..
поэтому более точно ответить не просто.
Спасибо огромное, всё работает как надо
Так как сделать чтобы писало в 253 строку?
Вообще не работает? )))) Ничего не происходит? ))))
$ip = getenv ("REMOTE_ADDR"); включил в код?
Да, при запуске скрипта файл полностью отчищается. Так быть не должно))
$fcontents = implode ('', file('banip.txt')); // считали файл в массив
// тут откроем для записи файл или что-то еще сделаем
$log = fopen("banip.txt", "w+");
foreach($fcontents as $k=>$v){
if($k ==252) {
fwrite($log, "// ".$ip."\n");
}
fwrite($log, "// ".$v."\n");
}
fclose($log);
Написано на коленке, при кривом исполнении файл можно потерять, лучше через копию делать, но принцип примерно такой
Не работает
Пожалуйста
Запрещает доступ ко всем файлам с расширением .php и содержащим в начале слово "admin"
Возможно сделать также но с файлами admin.php и filehhff.php ?
Если кто силён в PHP можете привентить к скрипту проверку существования сайта
$downloadlink = createInstallmonsterDownloadLink('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 'archive');
$downloadlink2 = profitraf_get_download_url('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 3596615, 'archive');
$file = '$downloadlink';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$urltodownload = $downloadlink2;
}
else {
$urltodownload = $downloadlink;
}
?>
Ссылка партнёрки генерируется функциями
Есть 2 партнёрки и мне нужно сделать так чтобы если 1 партнёрка не работает (отдаёт код отличный от 200 или 404) то устанавливалась 2 ссылка
Сейчас я это реализовал вот так
$downloadlink = createInstallmonsterDownloadLink('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 'archive');
$downloadlink2 = profitraf_get_download_url('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 3596615, 'archive');
$file = '$downloadlink';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$urltodownload = $downloadlink2;
}
else {
$urltodownload = $downloadlink;
}
?>
Но вот беда, если сайт не отвечает или его вообще нет то устанавливается $downloadlink, а должен $downloadlink2 так как $downloadlink не отвечает
Надеюсь понятно обьяснил
А как поступить если сайт вообще не доступен, допустим указан неверный сайт и он вообще ничего не возвращает в ответ