Как лучше реализовать передачу данных клиенту?

Тема в разделе "PHP", создана пользователем асс, 30 ноя 2011.

Статус темы:
Закрыта.
Модераторы: latteo
  1. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Суть такова.
    есть сайт Х , задача сайта отправить на другой сайт в базу данных информаци.


    тоесть я имею в базе данных погоду,
    далее мне надо раз в день отпавить данные погоды на сайты А Б В

    В общем сайт Х должен каждый день отправить погоду на сайты А Б В

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

    тоесть получатеся принцип формы на сайте, только тут данные уходя с помощью POST передачи.

    Самое просто это сайту который хочет получать погоду на сайте Х

    Но мне надо чтобы всем рулил главный сайт, и сам отправлял
    по крону информацию на другие сайты.

    Как лучше такое реализовать?

    буду благодарен за любые идеи и мысли, куда лучше двигаться?
    Реализация должна быть на PHP sql

    спасибо.
     
  2. darth

    darth Постоялец

    Регистр.:
    19 апр 2006
    Сообщения:
    113
    Симпатии:
    18
    ну имхо всетаки на сайтах а, б, в, делать автоматическое обращение к сайту х и если информация устарела- обновлять ее

    весьма корявый вариант- если есть доступ к фтпшнику сайтов- коннектиться на него с сайта х, заливать данные, на сайтах соответственно проверять не устарела ли инфа по отношению к файлу что на фтп уже лежит
     
  3. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    дело в том что надобно именно чтобы сайт Х рассылал сам.

    Принцип как у сапы, тоесть сайты WM это как бы сайты а, б, в,


    Вот нужно чтоб ка у сапы размещаются ссылки, так и у меня размещались данные на а, б, в,

    В принципе там даже авторизация не требуется по идее.
     
  4. darth

    darth Постоялец

    Регистр.:
    19 апр 2006
    Сообщения:
    113
    Симпатии:
    18
    может тогда при загрузке сайтов стоит дергать твой сайт х? ну типа как большинство информеров реализовано?
     
  5. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220

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


    может тогда как у сапы. там походу стоит скрипт который лезет в акк и там проверяет ссылки через определенное время.


    Вот код из сапы
    PHP:
     Функция для подключения к удалённому серверу
         
    */
        function 
    fetch_remote_file($host$path) {

            
    $user_agent $this->_user_agent.' '.$this->_version;

            @
    ini_set('allow_url_fopen',          1);
            @
    ini_set('default_socket_timeout',   $this->_socket_timeout);
            @
    ini_set('user_agent',               $user_agent);
            if (
                
    $this->_fetch_remote_type == 'file_get_contents'
                
    ||
                (
                    
    $this->_fetch_remote_type == ''
                    
    &&
                    
    function_exists('file_get_contents')
                    &&
                    
    ini_get('allow_url_fopen') == 1
                
    )
            ) {
                
    $this->_fetch_remote_type 'file_get_contents';
                if (
    $data = @file_get_contents('http://' $host $path)) {
                    return 
    $data;
                }

            } elseif (
                
    $this->_fetch_remote_type == 'curl'
                
    ||
                (
                    
    $this->_fetch_remote_type == ''
                    
    &&
                    
    function_exists('curl_init')
                )
            ) {
                
    $this->_fetch_remote_type 'curl';
                if (
    $ch = @curl_init()) {

                    @
    curl_setopt($chCURLOPT_URL,              'http://' $host $path);
                    @
    curl_setopt($chCURLOPT_HEADER,           false);
                    @
    curl_setopt($chCURLOPT_RETURNTRANSFER,   true);
                    @
    curl_setopt($chCURLOPT_CONNECTTIMEOUT,   $this->_socket_timeout);
                    @
    curl_setopt($chCURLOPT_USERAGENT,        $user_agent);

                    if (
    $data = @curl_exec($ch)) {
                        return 
    $data;
                    }

                    @
    curl_close($ch);
                }

            } else {
                
    $this->_fetch_remote_type 'socket';
                
    $buff '';
                
    $fp = @fsockopen($host80$errno$errstr$this->_socket_timeout);
                if (
    $fp) {
                    @
    fputs($fp"GET {$path} HTTP/1.0\r\nHost: {$host}\r\n");
                    @
    fputs($fp"User-Agent: {$user_agent}\r\n\r\n");
                    while (!@
    feof($fp)) {
                        
    $buff .= @fgets($fp128);
                    }
                    @
    fclose($fp);

                    
    $page explode("\r\n\r\n"$buff);

                    return 
    $page[1];
                }

            }

            return 
    $this->raise_error('Не могу подключиться к серверу: ' $host $path.', type: '.$this->_fetch_remote_type);
        }

    Тоесть получается что проще переложить всю работу на сайты, которые получают инфу.

    В общем надо подумать.
     
  6. darth

    darth Постоялец

    Регистр.:
    19 апр 2006
    Сообщения:
    113
    Симпатии:
    18
    нет проблем с выдачей уникальной инфы же. сайт обращается к скрипту на сайте х, сайт х проверяет в бд урл обращения и, например, ключ. далее если все ок- выдает нужную информацию
     
  7. AutoRun

    AutoRun Создатель

    Регистр.:
    8 окт 2011
    Сообщения:
    22
    Симпатии:
    5
    на сколько знаю - можно решить задачу веб-серверами посредством SOAP
     
Статус темы:
Закрыта.