Надо вырезать из каждой строки
Local ID(GMXX1486) и
city(Aach) и из получившехся данных создать документ со следующими строками:
$city_data[] = array('accid' => '
Local ID', 'name' => '
city');
Помогите вырезать нужную часть, а вписать всё как надо я сам смогу.
Спустя 9 минут, 36 секунд (23.03.2009 - 17:19) konstantin04 написал(а):
Начнём с малого.
Как считать документ построчно?
Спустя 3 минуты, 18 секунд (23.03.2009 - 17:22) waldicom написал(а):
Спустя 7 минут, 19 секунд (23.03.2009 - 17:29) sergeiss написал(а):
Цитата (waldicom @ 23.03.2009 - 17:22) |
fopen, fread, fclose |
Да и file() читает, вобщем-то, построчно. Только сразу в массив все строки. Но все равно с разбивкой по строкам.
Спустя 4 минуты, 18 секунд (23.03.2009 - 17:33) waldicom написал(а):
Цитата (sergeiss @ 23.03.2009 - 15:29) |
Да и file() читает, вобщем-то, построчно. Только сразу в массив все строки. Но все равно с разбивкой по строкам. |
Действительно... Просто не пользовал до этого никогда.
А она удобная? Просто если весь файл надо считать, то можно file_get_contents, а если по строкам надо, то всегда пользовался fopen'ом
Спустя 1 минута, 12 секунд (23.03.2009 - 17:35) konstantin04 написал(а):
Значит к чему я пришел
PHP |
$handle = fopen ("LocalID/LocalID.txt", "r"); while(!feof($handle)){ $contents = fread($handle, filesize($filename)); } echo $contents; fclose($handle); |
Вот эта строчка вводит меня в заблуждение, потому что не работает.
$contents = fread($handle, filesize($filename));
Спустя 5 минут, 55 секунд (23.03.2009 - 17:41) sergeiss написал(а):
Если ты напишешь
PHP |
$info=file("LocalID/LocalID.txt"); |
то в переменной (массиве) $info получишь все строки твоего файла: один элемент массива - одна строка.
Для не очень больших файлов я предпочитаю пользоваться этой функцией.
Спустя 10 минут, 3 секунды (23.03.2009 - 17:51) konstantin04 написал(а):
PHP |
$info=file("LocalID/LocalID.txt"); echo $info[0]; echo "sdg"; |
При таком раскладе я получаю только второе echo
Спустя 10 минут, 2 секунды (23.03.2009 - 18:01) sergeiss написал(а):
А у тебя первая строка не пустая в файле? И не забывай "переводить строку" при выводе данных. Чтобы не было кучи.
Попробуй так (только не добавляй ничего к этому коду!):
PHP |
$info=file("LocalID/LocalID.txt"); echo count( $info ).' values<br>'; foreach( $info as $k => $val ) { echo "info[ $k ] = '$val'<br>"; } |
Спустя 2 минуты, 52 секунды (23.03.2009 - 18:04) Kuliev написал(а):
Цитата (konstantin04 @ 23.03.2009 - 14:51) |
PHP | $info=file("LocalID/LocalID.txt"); echo $info[0]; echo "sdg"; |
При таком раскладе я получаю только второе echo
|
Ну не знаю у меня работает!
Может у Вас в документе пусто LocalID.txt???
Спустя 1 минута, 20 секунд (23.03.2009 - 18:05) Kuliev написал(а):
Или посмотри, что в массиве
PHP |
<? echo "<pre>"; print_r($info);
|
Спустя 1 минута, 26 секунд (23.03.2009 - 18:06) delete написал(а):
Цитата (konstantin04 @ 23.03.2009 - 14:35) |
Значит к чему я пришел
PHP | $handle = fopen ("LocalID/LocalID.txt", "r"); while(!feof($handle)){ $contents = fread($handle, filesize($filename)); } echo $contents; fclose($handle); |
Вот эта строчка вводит меня в заблуждение, потому что не работает. $contents = fread($handle, filesize($filename));
|
Конечно не работает потому что в функции filesize() ты просто не указал сам файл.
Либо $filename='LocalID/LocalID.txt' либо filesize('LocalID/LocalID.txt')
Спустя 11 минут, 31 секунда (23.03.2009 - 18:18) konstantin04 написал(а):
Ничего не выдаёт, как будто у меня путь неправильно прописан.
Я его уже менял, но результата никакого.
Спустя 4 минуты, 49 секунд (23.03.2009 - 18:23) konstantin04 написал(а):
Аха нашел, толь он мне выдаёт не то что надо.
После
PHP |
echo count( $info ).' values<br>'; foreach( $info as $k => $val ) { echo "info[ $k ] = '$val'<br>"; } |
я получил следующее :
Код |
273 values info[ 0 ] = 'Aach ' info[ 1 ] = 'Aachen ' info[ 2 ] = 'Aalen |
Но мне то нужна строчка полностью, а именно :
Код |
<A HREF="/weather/local/GMXX1486">Aach</A><BR> |
Спустя 4 минуты, 3 секунды (23.03.2009 - 18:27) delete написал(а):
Хм... вроде как должен файл построчно вывести, сейчас у себя посмотрю, а в файле только строки в такой виде хранятся? больше ничего?
Спустя 29 секунд (23.03.2009 - 18:27) konstantin04 написал(а):
PHP |
$handle = fopen ("/var/www/projekt/Golfclub/LocalID/localID.txt", "r"); while(!feof($handle)){ $contents = fread($handle, filesize('/var/www/projekt/Golfclub/LocalID/localID.txt')); echo $contents; } fclose($handle); |
Тоже не подходит, т.к опять же нужна строчка с кодом а получаю только название города в виде ссылки.
Спустя 48 секунд (23.03.2009 - 18:28) konstantin04 написал(а):
Да в фаиле только такие строки
Спустя 4 минуты, 14 секунд (23.03.2009 - 18:32) delete написал(а):
Конечно он будет выводит в виде ссылок потому что текст с тегами а он их преобразует
Спустя 3 минуты, 55 секунд (23.03.2009 - 18:36) konstantin04 написал(а):
А можно это как-нибудь обоити??
Спустя 1 минута, 51 секунда (23.03.2009 - 18:38) waldicom написал(а):
Спустя 35 секунд (23.03.2009 - 18:39) Kuliev написал(а):
Вот проверил работает )))
PHP |
<? // получает содержимое файла в строку $filename = "text.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle);
$text = htmlspecialchars($contents); echo $text;
|
Спустя 9 минут, 31 секунда (23.03.2009 - 18:48) konstantin04 написал(а):
Не помогло( strip_tags($contents); ):
PHP |
$handle = fopen ("/var/www/projekt/Golfclub/LocalID/localID.txt", "r"); while(!feof($handle)){ $contents = fread($handle, filesize('/var/www/projekt/Golfclub/LocalID/localID.txt')); echo strip_tags($contents); } fclose($handle); |
PHP |
$filename = "/var/www/projekt/Golfclub/LocalID/localID.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle);
$text = htmlspecialchars($contents); echo $text; |
Cбивает всё в одну строку.
Мне же из этого всего еще номер и город вырезать надо.
Можно ли это построчно записать, чтобы работу упростить?
Спустя 2 минуты, 38 секунд (23.03.2009 - 18:51) konstantin04 написал(а):
У strip_tags я нашел правильный синтаксис, но он выдаёт только название городов.
Спустя 1 минута, 27 секунд (23.03.2009 - 18:52) delete написал(а):
Цитата (konstantin04 @ 23.03.2009 - 15:51) |
У strip_tags я нашел правильный синтаксис, но он выдаёт только название городов. |
Потому что он вырезает весь html используй для получения названий городов
Спустя 4 минуты, 24 секунды (23.03.2009 - 18:57) konstantin04 написал(а):
Это я уже понял.
У меня в документе около 1600 строк и мне из каждой надо вырезать Код и Город. Если збить это всё в одну строку то вырезать коректные данные уже не реально.
Посоветуете другой выход из ситуации??
Спустя 4 минуты, 37 секунд (23.03.2009 - 19:01) delete написал(а):
PHP |
<?php $info=file("FILENAME.txt"); foreach($info as $k=>$val) { echo htmlspecialchars("$k - $val"); echo "<br>"; }
|
делай через file() получишь массив, тебе уже писали
Спустя 27 секунд (23.03.2009 - 19:02) Kuliev написал(а):
Цитата (konstantin04 @ 23.03.2009 - 15:57) |
Это я уже понял. У меня в документе около 1600 строк и мне из каждой надо вырезать Код и Город. Если збить это всё в одну строку то вырезать коректные данные уже не реально. Посоветуете другой выход из ситуации?? |
Тебе обязательно это делать средствами ПХП???
Спустя 2 минуты, 13 секунд (23.03.2009 - 19:04) konstantin04 написал(а):
Примного благодарен
Спустя 1 минута, 29 секунд (23.03.2009 - 19:05) konstantin04 написал(а):
Цитата (Kuliev @ 23.03.2009 - 16:02) |
Тебе обязательно это делать средствами ПХП??? |
Нет не обезательно.
Но уже всё разрешилось, спасибо.