| |
|
|
| | Скрипт clear.php находится на домене site.ru, и есть необходимость с него запустить файлы del.php на сайтах abc.ru и cde.ru.
Какой код надо записать в файле clear.php для запуска файлов del.php на каждом из упомянутых доменов? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(25.04.2008 в 12:44)
| | |
<?file_get_contents('http://www.remotesite.com/del.php')?>
| бывает достаточно. | |
| |
|
|
| |
|
|
| |
для: Axxil
(25.04.2008 в 12:46)
| | | > <?file_get_contents('http://www.remotesite.com/del.php')?>
> бывает достаточно.
Загружать в оперативную память документ неизвестного размера предлагаешь?
[поправлено модератором] | |
| |
|
|
| |
|
|
| |
для: Atheist
(25.04.2008 в 15:25)
| | | Почему неизвестного? Файл del.php сам Владимир55 пишет, как я понял
И он может вообще ничего не возвращать .
Эта строчка аналогична обычному вызову данного url из браузера. | |
| |
|
|
| |
|
|
| |
для: Axxil
(25.04.2008 в 15:54)
| | | > Почему неизвестного?
Потому что никто не говорил какой будет размер и считывать весь документ, генерируемый скриптом - кощунство.
> Файл del.php может вообще ничего не возвращать.
А может бесконечно генерировать какой-то мусор.
Как правильно заметил mechanic, не нужно считывать данные, если они не нужны. | |
| |
|
|
| |
|
|
| |
для: Atheist
(25.04.2008 в 15:59)
| | | Atheist, я, в отличии от тебя понимаю людей не только буквально.
Ясно же, что удалённый сайт принадлежит Владимиру55. И понятно, что если я напишу скрипт del.php вида:
<?
// connect to DB
mysql_query('DELETE FROM sometable');
?>
|
то никакого вывода, а тем более засорения чего-бы то ни было не будет.
если уж совсем php-гринписс покоя не даёт, то можно
<?
$str = file_get_contents('http://www.remotesite.com/del.php');
unset($str);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Владимир55
(25.04.2008 в 12:44)
| | | Под словом запустить, что подразумевается?
Считать текстовый контент? | |
| |
|
|
| |
|
|
| |
для: AcidTrash
(25.04.2008 в 12:56)
| | | - | |
| |
|
|
| |
|
|
| |
для: AcidTrash
(25.04.2008 в 12:56)
| | | Нет. Исполнить код, который на этих файлах записан (в моем случае там записан код удаления записей).
То есть, на сайте http://abc.ru/ есть файл del.php. Когда я вызываю его из строки броузера http://abc.ru/del.php, то этот файл выполняет свою работу.
А мне нужно делать тоже самое в автоматическом режиме, вписав соответствующий код исполнения файла http://abc.ru/del.php в скрипт, находящийся на сайте site.ru.
Как это возможно осуществить? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(25.04.2008 в 15:31)
| | |
$site = 'www.site.ru';
$br = "\r\n";
$headers = array(
'GET /del.php HTTP/1.1',
'Host:' . $site
);
$fp = fsockopen($site, 80);
fwrite($fp, implode($br, $headers) . $br . $br);
fclose($fp);
|
запрос пошлется, скрипт запустится, но поскольку ответ нас не интересует - ничего читать из сокета не будем | |
| |
|
|
| |
|
|
| |
для: mechanic
(25.04.2008 в 15:42)
| | | Воспроизвел в точности, но файл del.php не запустился.
Какое-либо сообщение об ошибках отсутствует.
Не связано ли это как-то с тем, что ранее этого кода имеется вывод в броузер? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(25.04.2008 в 16:08)
| | | > Воспроизвел в точности, но файл del.php не запустился.
В $site точно хост, а не, скажем "site.ru/" или "http://..."?
> $fp = fsockopen($site, 80);
Можно переписать так: $fp = fsockopen($site, 80, $errno, $errstr) or die($errstr);
> HTTP/1.1
Лучше, думаю HTTP/1.0 | |
| |
|
|