[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск строки в файле
Serg86
К примеру
$line содержит

news.detail.2012%7E11%7EAudi_Q7_Special_Offer.phpNot foundnews.detail.2012%7E09%7ESQ5_TDI_Audi_exclusive_concept_in_Paris.php

тоесть имя странички. Нужно проверить, есть ли данное имя странички в файле. Использую следующий код

if(in_array ($line, $file))
{ print "Found";}

else

{
print "Not found";
file_put_contents('link_ok.dat',"\n$line", FILE_APPEND);
}

Строка в файле есть, но он не находит
Если писать так



if(in_array ("111111", $file))
{ print "Found";}

else

{
print "Not found";
file_put_contents('link_ok.dat',"\n$line", FILE_APPEND);
}

Всё впоряде, находит
Не могу понять в чём причина mad.gif . Заранее благодарен за все ответы.
Игорь_Vasinsky
может

if(in_array (urldecode($line), $file)) 


с учётом что ты $file - с file() получаешь и на 1 строку - 1 урл

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
хотя сомнительно rolleyes.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Serg86
используй флаг FILE_IGNORE_NEW_LINES в file()
Игорь_Vasinsky
а зачем?

ну будет часть массива с пустыми элементами, но элементы со строками то всё равно будут

или как?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 6.11.2012 - 09:49)
а зачем?

затем что каждая строка в массиве от file() заканчивается переводом строки, от того in_array() ничего не находит.(если конечно там еще лишних пробелов нет)
Игорь_Vasinsky
понятно wink.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Serg86
Цитата (killer8080 @ 6.11.2012 - 09:47)
Serg86
используй флаг FILE_IGNORE_NEW_LINES в file()

А можно поподробней, ато не получается чето
killer8080
$file = file('file.txt', FILE_IGNORE_NEW_LINES);
Игорь_Vasinsky
а мануалы официальные платные уже что ли?????

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Serg86
Разобрался всё получилось, спасибо огромное

$file=file("$file_open",FILE_IGNORE_NEW_LINES);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.