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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как идентифицируется строка в txt-файле? 
V
    Опции темы
grIeIy
Дата 26.2.2006, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Хочу сделать так чтобы при открытии _http://site.ru/?31 скрипт вытягивал данные именно из 31-строки txt-файла. Как определяется строка в файле?

И возможно ли вообще такое сделать?
PM MAIL   Вверх
Guedda
Дата 26.2.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



Не хочется заморачиваться. Если нажмешь на _http://site.ru/?id=31, то будет
вот так:
Код

$fil=file("myfile.txt"); //Загружаем файл в массив
if(isset($fil[$id]))
{
  echo $fil[$id];
}
  else die("В файле нет такой строки");


Все довольно тривиально smile

Это сообщение отредактировал(а) Guedda - 26.2.2006, 18:49


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Satana
Дата 26.2.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

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



Guedda, блин пока зашел опередил smile



--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
grIeIy
Дата 26.2.2006, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



здесь будет вывод на экран этой строки.

мне надо чтобы данные из этой строки вида
Код

имя|фамилия| 

вытягивались именно из этой строки, как это можно сделать?
PM MAIL   Вверх
Satana
Дата 27.2.2006, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

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



grIeIy, ну тут как я понимаю нужно пользовать explode функцию которая разобьет строку в массив


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
grIeIy
Дата 27.2.2006, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я незнаю что такое explode но я буду делать наподобие как в подобных скриптах которые вытягивают данные из файла вида |name|secondname|

Вы мне токо скажите как сделать чтобы вытяжка шла именно из 31-й строки! Используя приведённый код:
Код

$fil=file("myfile.txt"); //Загружаем файл в массив
if(isset($fil[$id]))
{
  echo $fil[$id];
}
  else die("В файле нет такой строки");

PM MAIL   Вверх
Guedda
Дата 27.2.2006, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



Из 31 строки вот так будет:
Код

$fil=file("myfile.txt"); //Загружаем файл в массив
if(isset($fil[$id]))
{
  echo $fil[31]; //вот здесь будет вытаскиваться 31 строка
}
  else die("В файле нет такой строки");

Про explode...
Если у тебя строка имеет вид
Цитата

Антон|Чехов|Павлович|777-77-77

Тогда, после строки, которая вытаскивает 31 строку можешь дописать:
Код

$my_arr=explode("|", $fil[31]); //загоняем в массив строку, разбивая по |
echo "Ваше имя $my_arr[0]\nВаше отчество $my_arr[2]\n";


В общем, код должен получиться такой:
Код

$fil=file("myfile.txt"); //Загружаем файл в массив
if(isset($fil[$id]))
{
  $my_arr=explode("|", $fil[31]); //загоняем в массив строку, разбивая по |
  echo "Ваше имя $my_arr[0]\nВаше отчество $my_arr[2]\n";
}
  else die("В файле нет такой строки");

Функция explode разбивает строку по идентификатору в и загоняет каждую ячейку в массив с порядковым номером по возрастанию.
В моем примере выше будет массив выглядеть так:
Код

$my_arr[0] = "Антон";
$my_arr[1] = "Чехов";
$my_arr[2] = "Павлович";
$my_arr[3] = "777-77-77";


Это сообщение отредактировал(а) Guedda - 27.2.2006, 12:00


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
grIeIy
Дата 27.2.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо!
Остался один вопрос:
когда я сделаю запись
Код

$fp = fopen ("bd.dat", "a");
fwrite ($fp, "$name|$pass\r\n");
fclose ($fp);

Как мне вывести на экран Номер строки в которую были записаны эти данные??
PM MAIL   Вверх
CTAPbIuMABP
Дата 27.2.2006, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 17.2.2006
Где: Киев

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



ну придется наверное еще раз считать файл функцией file и посчитать все строки, последняя-1 будет искомой

Это сообщение отредактировал(а) CTAPbIuMABP - 27.2.2006, 19:48
PM WWW ICQ Skype   Вверх
Guedda
Дата 27.2.2006, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



Так:
Код

$fp = fopen ("bd.dat", "a");
fwrite ($fp, "$name|$pass\r\n");
fclose ($fp);
$fd=file("bd.dat");
echo "Номер только что записанной строки: " . sizeof($fd); //если начинать с 0


Это сообщение отредактировал(а) Guedda - 27.2.2006, 20:29


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
grIeIy
Дата 27.2.2006, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Работает!!!
Пол часа врубался в твои коды. И всё таки врубился!

Тока есть одна трабла:
Код

sizeof($fd);

выводит следующую (несуществующую) после НУЖНОЙ строку
как эту циферку на -1 убавить?
PM MAIL   Вверх
wsr
Дата 28.2.2006, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Fuzzy Logic
*


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

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



sizeof($fd) - 1;
--------------------
 ICQ : 918-318Сайт : Lock-Team 
PM MAIL WWW ICQ   Вверх
grIeIy
Дата 28.2.2006, 07:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(wsr @ 28.2.2006, 00:11 Найти цитируемый пост)
sizeof($fd) - 1

пишет:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/domains/site/public_html/new_client.php on line 12

PM MAIL   Вверх
Guedda
Дата 28.2.2006, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



А если так:
Код

$my=sizeof($fd);
$my2=$my-1;



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
grIeIy
Дата 28.2.2006, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всё работает! Спасибо всем!
Теперь радуюсь, что написал сам свой первый скрипт smile
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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