X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> поиск слов в файле-словаре php
SaimanArt
SaimanArt
Topic Starter сообщение 22.11.2010, 14:30; Ответить: SaimanArt
Сообщение #1


<?

$word=$_GET['word'];

$FL = fopen("1.txt", "r");

while (!feof($FL)) {
   $line = fgets($FL);
echo $line."<br>";
if ($word==$line) {echo "Слово найдено";}
}

fclose($FL);

?>

создал текстовый файлик,в него добавил слова,каждое слово с новой строки,ввожу слово для поиска и в ответ ничего не выводится,почему так?(ведь функция fgets как раз для того и служить что бы читать строку
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 22.11.2010, 15:03; Ответить: Mulder_hb
Сообщение #2


Вообще ничего не выводится? Судя по вашему коду, должен выводится весь файл (echo $line."<br>";). Раз и этого нет, то явно ошибка открытия файла. Задайте полный путь до файла, а не относительный и поставьте проверку на открытие файла.
[PHP]<?php

$word = $_GET['word'];

$FL = fopen("1.txt", "r");
if (!is_resource($FL)) {
die("Ошибка открытия файла");
}

while (!feof($FL)) {
$line = fgets($FL);
echo $line."<br />";
if ($word == $line) {
echo "Слово найдено";
}
}

fclose($FL);

?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
unnormal
unnormal
сообщение 22.11.2010, 15:14; Ответить: unnormal
Сообщение #3


fgets() разве не возвращает строку в конце с \r\n ?
искать надо при помощи strstr()
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SaimanArt
SaimanArt
Topic Starter сообщение 22.11.2010, 15:16; Ответить: SaimanArt
Сообщение #4


(Mulder_hb @ 22.11.2010, 17:03) *
Вообще ничего не выводится? Судя по вашему коду, должен выводится весь файл (echo $line."<br>";). Раз и этого нет, то явно ошибка открытия файла. Задайте полный путь до файла, а не относительный и поставьте проверку на открытие файла.


ой...ну слова из файла выводятся....не выводится "Слово найдено" =>значит оно не ищет(
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SaimanArt
SaimanArt
Topic Starter сообщение 22.11.2010, 15:19; Ответить: SaimanArt
Сообщение #5


(unnormal @ 22.11.2010, 17:14) *
fgets() разве не возвращает строку в конце с \r\n ?
искать надо при помощи strstr()


Функция strstr — Находит первое вхождение подстроки

тоесть у меня в файле
cat
wolf


если я вместо cat напишу ываывcat и потом в поиск введу cat,то оно мне выведет ываывcat хотя это вовсе не cat...

а как отсечь символы \r\n ???
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 22.11.2010, 16:34; Ответить: Mulder_hb
Сообщение #6


[PHP]trim($line)[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 22.11.2010, 16:35; Ответить: ZhukV
Сообщение #7


Я бы лично сделал так, (ЕСЛИ ФАЙЛ НЕ ОЧЕНЬ БОЛЬШОЙ!!!)
[PHP]
$file = file('1.txt');
foreach($file as $v){
if($v == $_GET['words']){
$slovo = $v;
break;
}
}
if($slovo){ echo "YES SEARH"; }
else{ echo "NO!!!"; }
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 22.11.2010, 16:36; Ответить: ZhukV
Сообщение #8


Mulder, может Вы случайно забыли, trim без дополнительных аргументов удалит только пробелы
[PHP]
trim($text, '\n');
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SaimanArt
SaimanArt
Topic Starter сообщение 22.11.2010, 17:16; Ответить: SaimanArt
Сообщение #9


ну вот что получилось
[PHP]<?php

$word = $_GET['word'];
$FL = fopen("1.txt", "r");
if (!is_resource($FL)) {
die("Ошибка открытия файла");
}

while (!feof($FL)) {
$line = fgets($FL);
if (trim($line, "\r\n")==$word) {
echo "Слово найдено: ".$line;
}
}
fclose($FL);
?>
[/PHP]

всем спасибо)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 22.11.2010, 17:46; Ответить: Mulder_hb
Сообщение #10


(ZhukV @ 22.11.2010, 18:36) *
Mulder, может Вы случайно забыли, trim без дополнительных аргументов удалит только пробелы

Всегда читайте документацию перед подобными заявлениями :) .
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Англоязычный SEO-копирайтинг от $3/100 слов от NeedmyLink | Первая статья бесплатно
4 Needmylink1 1328 12.4.2024, 23:43
автор: Needmylink1
Горячая тема (нет новых ответов) Свежие базы ключевых слов с подсказок гугла!
125 Krok 68503 7.4.2024, 4:52
автор: Krok
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3401 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44909 19.7.2023, 10:03
автор: qpPeW


 



RSS Текстовая версия Сейчас: 20.4.2024, 3:11
Дизайн