Маленький кусочек кода но я в с пхп на ВЫ

Статус
В этой теме нельзя размещать новые ответы.

extrimportal

Я за мир, во всём мире!
Заблокирован
Регистрация
28 Ноя 2008
Сообщения
590
Реакции
120
  • Автор темы
  • Заблокирован
  • #1
Помогите плиз. Есть скрипт вида
PHP:
$log = $_GET['data'];
$fp = fopen("log.txt","a+");
fwrite($fp,"$log \r\n");
fclose($fp);
Помогите дописать его что бы перед добавлением была проверка на существование идентичных записей. Если такая строка существует, не дописывать. В каждой строке по слову. И хорошо бы что бы эти слова были не длиннее 20 символов. Спасибо.
 
так попробуй!
PHP:
$log = $_GET['data']; 
$fp = fopen("log.txt","a+");
if(strpos($fp,$log) === false and strlen($log) < 21) 
fwrite($fp,"$log \r\n"); 
fclose($fp);
 
  • Заблокирован
  • #3
PHP:
<?php
$log = $_GET['data'];
$str=file("log.txt");
if(strlen($log)<=20){
	$flg=false;
	foreach($str as $str2){		
		if($log=$str2) $flg=true;		
	}
	if(!$flg){
		$fp = fopen("log.txt","a+");
		fwrite($fp,"$log \r\n");
		fclose($fp);  
	}
}
?>
 
  • Автор темы
  • Заблокирован
  • #4
Нет. Ни первый не второй не фурычат...
получаю
class.game
class.game
class.game
class.game
class.game

Еще как то можно?
 
а что передаётся скрипту, тоесть в переменную $log
попробуй ещё так пробелы почистел
PHP:
$log = trim($_GET['data']);  
$fp = fopen("log.txt","a+"); 
if(strpos($fp,$log) === false and strlen($log) < 21)  
fwrite($fp,"$log \r\n");  
fclose($fp);
и так ещё
PHP:
$log = trim($_GET['data']);  
$fp = file_get_contents("log.txt"); 
if(strpos($fp,$log) === false and strlen($log) < 21)  
file_put_contents($fp,"$log \r\n",FILE_APPEND);
поидее должно работать, тут идёт поиск то что попадает в переменную лог и если нету идёт сравнение на символы если меньше 21 тогда будет писать
 
  • Автор темы
  • Заблокирован
  • #6

первая не работает. Вторая вообще не добавляет. Сорри что так долго, инет голимый ужас!
 
  • Заблокирован
  • #7
PHP:
<?php
$log = $_GET['data'];
$str=file("log.txt");
if(strlen($log)<=20){
	$flg=false;
	foreach($str as $str2){	
		if(trim($str2)==$log){$flg=true;}		
	}
	if(!$flg){
		$fp = fopen("log.txt","a");
		fputs($fp,$log."\r\n");
		fclose($fp);  
	}
}
?>
 
PHP:
<?php	
$log = $_GET['data']; 
$logtxt = file_get_contents("log.txt");
// проверяем наличие такой же строки
if (preg_match("/$log/i", "$logtxt")) { 
    echo "Вхождение найдено.";
} else { 
    echo "Вхождение не найдено."; 
	// Обрезаем слово до 20 символов
$log20 = substr ($log, 0, 20);
	// Записываем
$fp = fopen("log.txt","r+"); 
fwrite($fp,"$log20 \r\n$log.txt"); 
fclose($fp); 
}
?>

Этот код код точно будет работать
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху