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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Текстовый файл в качестве БД, Нужна помощь 
:(
    Опции темы
BigLink
  Дата 27.12.2010, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Приветствую
Нужна помощь в PHP, возможно есть уже какое-то готовое решение. Буду благодарен тому, кто подскажет код реализации

В общем, есть txt файл с большим количеством строк (допустим base.txt)
Каждая строка - это контент отдельной страницы для сайта

Необходимо вывести этот контент на каждой странице в зависимости от адреса вроде таких index.php?page=1, index.php?page=2 и т.п.

Как осуществить это средствами PHP и как сгенерировать карту для такого сайта с ограниченным количеством ссылок и со всеми ссылками?

Заранее спасибо
PM MAIL   Вверх
Mavrun
Дата 27.12.2010, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



тебе нужен формат записи типа csv, где данные записываются через какой-либо символ, например через точку с запятой. у тебя в текстовом файле будут только два поля как бы - первое id страницы, а второе - контент. через preg_match создаёшь шаблон, которым вытаскиваешь первые символы до точки с запятой - это будет ид-шник, а далее вытаскиваешь контент. 
а ограничение - через цикл обработки этого файла.
думаю всё как-то так
PM MAIL   Вверх
BigLink
Дата 27.12.2010, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, а обязательно csv? txt не подойдет?

PM MAIL   Вверх
skyboy
Дата 27.12.2010, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



т.е. номер page = номер строки в файле?
PM MAIL   Вверх
baldina
Дата 27.12.2010, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



что-то типа
Код

<?php
$page = $_GET['page'];
$fd = fopen (filename);
for ($i=0; $i<$page; ++$i)
  $str = fgets ($fd);
echo $str;
fclose ($fd);
?>

но это медленно: тестовый файл не самая подходящая структура. не проще ли однократно разбить файл на страницы? тогда и php (для этого) не нужен. или в БД (BLOB) записать.

Это сообщение отредактировал(а) baldina - 27.12.2010, 10:02
PM MAIL   Вверх
BigLink
Дата 27.12.2010, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Думаю, не проще, так как файл из 1000 строк и разбивать их по разным файлам тяжеловато будет

А БД использовать для сайтов, ориентированных на системы продажи ссылок, не слишком экономично, особенно, когда их несколько десятков на одном аккаунте. 

Большое спасибо за код, сегодня попробую проверить
А не подскажете, как сгенерировать карту для этого сайта средствами PHP
То есть, чтобы на странице, например, выводилось столько ссылок с числами от 1 до n, сколько строк в файле. И например, как можно разбить их на несколько страниц

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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



Цитата

 разбивать их по разным файлам тяжеловато будет

это делается парой строчек на любом ЯП

Добавлено через 1 минуту и 32 секунды
Цитата

 как сгенерировать карту для этого сайта средствами PHP

также, как и вывести, добавив лишь обработку ссылок (в зависимости от того, что именно хочется выводить)

PM MAIL   Вверх
BigLink
Дата 29.12.2010, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



С картой так и не разобрался

Нужна примерно такая карта

Код

<a href="http://sitename.ru/index.php?page=1">Отель №1</a>
<a href="http://sitename.ru/index.php?page=2">Отель №2</a>
<a href="http://sitename.ru/index.php?page=3">Отель №3</a>
<a href="http://sitename.ru/index.php?page=4">Отель №4</a>
и т.д.

Как сгенерировать такую карту с любым необходимым числом страниц? smile 
И чтобы начать и закончить можно было определенным числом

Это сообщение отредактировал(а) BigLink - 29.12.2010, 07:49
PM MAIL   Вверх
Codd
Дата 8.1.2011, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

<a href="http://sitename.ru/index.php?page=1">Отель №1</a>
<a href="http://sitename.ru/index.php?page=2">Отель №2</a>
<a href="http://sitename.ru/index.php?page=3">Отель №3</a>
<a href="http://sitename.ru/index.php?page=4">Отель №4</a>
и т.д.


Код

for($i = 1; $i <= 10; $i++){
   echo "<a href=\"http://sitename.ru/index.php?page=$i\">Отель №$i</a>"
}


Это сообщение отредактировал(а) Codd - 8.1.2011, 16:40
PM MAIL ICQ Skype GTalk   Вверх
Temp
Дата 8.2.2011, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



BigLink, не знаю какими переменными это можно сделать, но думаю что всётами есть такие.
1) подключаем (открываем) текстовый файл
2) \n разделитель строк используем как разделитель элементов
3) через разделитель загоняем текст в массив
4) из массива вытаскиваем нужный. пример: echo $page[10];

Это сообщение отредактировал(а) Temp - 8.2.2011, 00:31


--------------------
<удалено администрацией>
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.1355 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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