Forum Webscript.Ru
Программирование => PHP => Тема начата: от 21 Февраля 2002, 07:05:25
-
Проблема такая:
На первом сайте находится база данных с полями, например, TOVAR и CENA. Как на втором сайте сделать отображение этих полей, если на первом сайте значения этих полей будут изменены? То, что считывать эту базу в файл и затем его использовать- в этом проблем нет, тут все понятно. А вот если сделать что-то типа связей с этими полями базы данных, то как это сделать? Или может нечто вроде ссылок на эти поля сделать, но как я не знаю. База данных на первом сайте- в формате TXT. Но в эту базу внести изменения вносить не надо, только считывать.
Может кто сможет помочь? Буду очень признателен. Заранее спасибо. Очень срочно нужно.
-
совсем не понятно...
не реально у тебя вопрос противоречит себе...
или я что то не понимаю...
-
База данных на первом сайте- в формате TXT
TXT это не движок баз данных, поэтому считывать весь файл.
-
RKo
А зарегистрироваться слабо?
-
Короче считываешь всё это fopen(), с того сайта откуда ты хочешь брать инфу, затем просто делаешь проверку if(), и всё.
А не мог бы ты мне дать взглянуть на строение базы, может скрипт напишу ;)
(Solid)
-
Я бы делал так:
Во-первых доступ к БД извне должен быть запрещен (а то всякие будут ее смотреть, что не есть хорошо) например .htaccess-ом или поместить ее в каталог, недоступный извне.
Еще копию БД лучше делать на обоих серверах (если места не жалко)
И на одном сайте делаешь скрипт, который передает внесенные изменения а на втором - скрипт который их принимает и вносит в БД (нужно еще какой-то пароль передавать, а то тебе таких измененений внесут ).
Тут можно использовать сокеты или почту если на втором сайте есть доступ к почтовому роботу.
Передавать данные ИМХО лучше в сериализованом массиве (или в XML или в WDDX или весь файл закачивать - это просто альтернативы, массивы ИМХО самое простое)
Это все теория, на практике таким не занимался, поэтому мог что-нибудь ляпнуть глупое... Хотя вроде все логично
База данных на первом сайте- в формате TXT. Но в эту базу внести изменения вносить не надо, только считывать.
На первом сайте находится база данных с полями, например, TOVAR и CENA. Как на втором сайте сделать отображение этих полей, если на первом сайте значения этих полей будут изменены?
В этих двух фразах все правильно?
-
Макс
Да это же легко сделать ... ;)
С начало делаем файл, например db.txt, затем берём и заркываем доступ к нему со всех ип кроме того с корого будем считывать этот файл.
Затем делаем fopen() - открываем этот файл, например:
$file = fopen("http://www.server.ru/db.txt", "r");
и и дальше просто навсего делаем explode()\'ом и т.д.
Я говорю, ты мыль мне (solid@email.ee), напишу скриптик, ведь не сложно + люблю помогать людям ;)
-
include ("путь до твоей базы/база.txt"); ?>
:)
-
При использовании fopen() -будет считываться база данных, но только когда на первом сайте изменения уже внесены, а на второй сайт посетитель только заходит. А если этот посетитель уже находится на втором сайте, то при изменении данных на первом сайте, он об этих изменениях и не узнает...
т.е. надо типа интернет-пейджера: находится человек в Online или в Offline.
С Includ\'ом то же самое...
Я думаю, AliMamed все-таки прав... И надо считывать весь файл...
-
плюс, чтобы не нарушить целостность файла необходимо использовать flock.
и еще, функция file работает быстрее, чем fopen + fgets + цикл.