Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Создание файла с одного сайта на другом (https://javascript.ru/forum/server/69424-sozdanie-fajjla-s-odnogo-sajjta-na-drugom.html)

Sonya 21.06.2017 14:16

Создание файла с одного сайта на другом
 
Здравствуйте, подскажите, пожалуйста, как решить такую задачу:
Есть два сайта на одном хостинге, как с одного сайта создать текстовый файл на другом? У обоих сайтов, естественно, один владелец.

laimas 21.06.2017 16:20

Цитата:

Сообщение от Sonya
Есть два сайта на одном хостинге, как с одного сайта создать текстовый файл на другом?

По HTTP или FTP протоколу.

Sonya 21.06.2017 17:14

По HTTP.

laimas 21.06.2017 17:49

По HTTP обычным способом, отправляет файл с одного домена на другой, используя контекст. На принимающем домене скриптом принять и сохранить.

//то что отправляется
$post = http_build_query(
    ['keyname' => 'Cодержимое данных']
);
//параметры отправления
$options = ['http' =>
    [
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded', //отправление текста
        'content' => $post
    ]
];
//контекст
$context = stream_context_create($options);
//отправление
file_get_contents('http://domain/script_name.php', false, $context);

//на принимающем домене по указанному адресу http://domain/ скриптом script_name.php принять
file_put_contents('name.txt', $_POST['keyname'])


Более подробно об опциях контекста читайте в руководстве.

Sonya 21.06.2017 17:53

Спасибо! А можно осуществить запись в txt с одного сайта на другом?

laimas 21.06.2017 18:01

Ну в руководстве о функции file_put_contents говорится же и о флагах, которые можно задать. Флаг FILE_APPEND позволяет при наличии файла дописывать новые данные в его конец. Если речь о чем-то более сложном, то только посредством сценария расширенного.

Sonya 21.06.2017 18:12

Можно примером, например,
$f=fopen('http:///другой_сайт.ru/texr.txt',"a");
fwrite($f, "информация");
fclose($f);

так не получается, не записывает.

laimas 21.06.2017 18:24

Цитата:

Сообщение от Sonya
так не получается, не записывает

"Создание файла с одного сайта на другом" ну никак не связать по смыслу с тем чего вы написали, не так ли?

Вы чего хотите?

Sonya 21.06.2017 18:29

Есть два сайта на одном хостинге, мне надо, чтобы с одного сайта информация записывалась на другой. Почему "Создание файла с одного сайта на другом", потому, что, если нет файла txt, то создать его, что в принципе и предусмотрено при записи, поэтому, как бы и то, и другое, к теме.

laimas 21.06.2017 18:42

Если есть домен А и домен В, при этом домен А ведущий, а домен В ведомый, то есть в момент времени Т домен А получает/обрабатывает/итд некую информацию, которую он должен сохранить на домене В. Этой концепции и соответствует заголовок вашей темы, как это делается по http было показано. К данной концепции никакие fopen() отношения не имеют.

Если домен А также владелец информации, но обязанность сохранения ее на домене В возлагается на него же, вот тогда на домене В file_get_contents(name, с домена А) или fopen(с домена А), и выполняется такое планировщиком задач.

file_put_contents('name.txt', $_POST['keyname'], FILE_APPEND) - создаст файл если не существует и запишет в него, иначе допишет в конец уже существующего.

То что вы изначально писали, а затем код, то это далеко не к одному и тому же.


Часовой пояс GMT +3, время: 19:06.