21.06.2017, 14:16
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Создание файла с одного сайта на другом
Здравствуйте, подскажите, пожалуйста, как решить такую задачу:
Есть два сайта на одном хостинге, как с одного сайта создать текстовый файл на другом? У обоих сайтов, естественно, один владелец.
|
|
21.06.2017, 16:20
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Sonya
|
Есть два сайта на одном хостинге, как с одного сайта создать текстовый файл на другом?
|
По HTTP или FTP протоколу.
|
|
21.06.2017, 17:14
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
По HTTP.
|
|
21.06.2017, 17:49
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
По 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'])
Более подробно об опциях контекста читайте в руководстве.
|
|
21.06.2017, 17:53
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Спасибо! А можно осуществить запись в txt с одного сайта на другом?
|
|
21.06.2017, 18:01
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Ну в руководстве о функции file_put_contents говорится же и о флагах, которые можно задать. Флаг FILE_APPEND позволяет при наличии файла дописывать новые данные в его конец. Если речь о чем-то более сложном, то только посредством сценария расширенного.
|
|
21.06.2017, 18:12
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Можно примером, например,
$f=fopen('http:///другой_сайт.ru/texr.txt',"a");
fwrite($f, "информация");
fclose($f);
так не получается, не записывает.
|
|
21.06.2017, 18:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Sonya
|
так не получается, не записывает
|
"Создание файла с одного сайта на другом" ну никак не связать по смыслу с тем чего вы написали, не так ли?
Вы чего хотите?
|
|
21.06.2017, 18:29
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Есть два сайта на одном хостинге, мне надо, чтобы с одного сайта информация записывалась на другой. Почему "Создание файла с одного сайта на другом", потому, что, если нет файла txt, то создать его, что в принципе и предусмотрено при записи, поэтому, как бы и то, и другое, к теме.
|
|
21.06.2017, 18:42
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Если есть домен А и домен В, при этом домен А ведущий, а домен В ведомый, то есть в момент времени Т домен А получает/обрабатывает/итд некую информацию, которую он должен сохранить на домене В. Этой концепции и соответствует заголовок вашей темы, как это делается по http было показано. К данной концепции никакие fopen() отношения не имеют.
Если домен А также владелец информации, но обязанность сохранения ее на домене В возлагается на него же, вот тогда на домене В file_get_contents(name, с домена А) или fopen(с домена А), и выполняется такое планировщиком задач.
file_put_contents('name.txt', $_POST['keyname'], FILE_APPEND) - создаст файл если не существует и запишет в него, иначе допишет в конец уже существующего.
То что вы изначально писали, а затем код, то это далеко не к одному и тому же.
Последний раз редактировалось laimas, 21.06.2017 в 18:44.
|
|
|
|