Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Содержимое файла 
:(
    Опции темы
starmaster
  Дата 28.6.2004, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



Есть такой код:

Код
<?
$filename = "bani.php";
$bans = file("$filename");
for ($k = 0; $k < count($bans); $k++) {
$bans[$k] = ereg_replace("\r\n","",$bans[$k]);
}
?>


То есть в файле bani.php записаны ip адреса... цикл для каждой строчки в файле убирает пробелы. И допустим надо найти слово site в содержимом этого файла, если оно найдено, то выполняется код после if , а если нет, то после else. Как это можно сделать?
PM MAIL WWW ICQ   Вверх
Secandr
Дата 28.6.2004, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



eval ($text)


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Ignat
Дата 28.6.2004, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



if (eregi("some",$text)){
...
}else{
...
}


--------------------
Теперь при чем :P
PM   Вверх
starmaster
Дата 28.6.2004, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



Это всё понятно, но проблема в том, что как записать из цикла получившееся в переменную?
PM MAIL WWW ICQ   Вверх
Secandr
Дата 28.6.2004, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



ничего не понял sad.gif


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Ignat
Дата 28.6.2004, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



В смысле строчку, содержащую "some"?
Код
<?
$filename = "bani.php";
$bans = file("$filename");
for ($k = 0; $k < count($bans); $k++) {
$bans[$k] = ereg_replace("\r\n","",$bans[$k]);
if (eregi("some",$bans[$k])) $match=$bans[$k];
}
?>

Это?

Это сообщение отредактировал(а) Ignat - 28.6.2004, 17:51


--------------------
Теперь при чем :P
PM   Вверх
starmaster
Дата 28.6.2004, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



for ($k = 0; $k < count($bans); $k++) {
$bans[$k] = ereg_replace("\r\n","",$bans[$k]);
}

Этот цикл удаляет из каждой строчки пробелы. Затем нужно записать результат работы цикла в переменную, то есть получится одна целая строка и уже затем искать слово в этой строке...

Объясню подробней: в этот файл будут вписываться ip адреса, затем если ip адрес посетителя находится в этом файле, значит он забанен

Это сообщение отредактировал(а) starmaster - 28.6.2004, 17:56
PM MAIL WWW ICQ   Вверх
Ignat
Дата 28.6.2004, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Цитата(Secandr @ 28.6.2004, 18:39)
ничего не понял sad.gif

Аналогично omg.gif


--------------------
Теперь при чем :P
PM   Вверх
IZ@TOP
Дата 29.6.2004, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Если тебе нужно банить юзеров по ip то это делается проще чем ты решаешь эту проблему:
Цитата
<?php
$ips = file('base/bans.ip'); // читаем файл в массив.
for($i = 0; $i < sizeof($ips); $i++) {
    if(trim($ips[$i]) == $_SERVER['REMOTE_ADDR']) { // Есть замечательная функция trim которя убирает пробельные символы в начале и конце строки. В этом выражении мы проверяем: равен ли ip пользователя ($_SERVER['REMOTE_ADDR']) строке из файла. Естественно что в файл ip адреса должны писаться построчно. 1 ip на строчку.
        die('Вы забанены ;)');
    }
}
?>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
starmaster
Дата 29.6.2004, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



Спасибо, можно и так, а вот как я решил эту проблему:
Код

<?
$filename = "ip.dat";
if(file_exists($filename))
{
$ip = "$REMOTE_ADDR";
$nkrk="<br>";
$f = fopen($filename,"a+");
if ($f)
{
fwrite($f,$nick);
fwrite($f,$ip);
fwrite($f,$nkrk);
fclose($f);
}
}
$filename = "bani.php";
$bans = file("$filename");
$equal="";
for ($k = 0; $k < count($bans); $k++) {
$bans[$k] = ereg_replace("\r\n","",$bans[$k]);
if (eregi($ip,$bans[$k])) {echo ("Вы забанены!"); $equal=$bans[$k];}
}
?>


Потом через админку смотришь никнейм с айпи и если нужно забанить, то добавляешь его в файл для ip забаненных...

Это сообщение отредактировал(а) starmaster - 29.6.2004, 21:33
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0851 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.