Обработка XML с помощью PHP
А вобще, по-моему, там нужно юзать не fopen, a fsockopen, и все будет ок.
Спасибо. С нетерпеним жду вечера.
$host="host.ru";
$path="/path/to_file";
$h=fsockopen($host,80);
$query="POST-данные"
$post="POST $path HTTP/1.1\r\nHost: $host\r\nContent-type: application/x-www-form-urlencoded\r\nUser-Agent: Mozilla 4.0\r\nContent-length: ".strlen($query)."\r\nConnection: close\r\n\r\n".$query;
fwrite($h,$post);
$r="";
for($a=0,$r='';!$a;){
$b=fread($h,8192);
$r.=$b;
$a$b=='')?1:0);
}
fclose($h);
Да, стоило ради этого ждать вечера...
Однако fopen при запуске макроса ругается и говорит, что не может открыть файл, т.к. он через https. а не http.
Работает. Большое спасибо.
Заметь, стоило
Кстати, ещё не понимаю, как в общем случае бороться с chunk'ами, которые на многих серверах есть... Всё же неправильно всё пытаться самостоятельно реализовать, хотя в какой-то степени иногда полезно.
Оставить комментарий
RealFikus
Добрый день!Столкнулся со следующей задачей. Есть такая контора smstraffic.ru, которая занимается рассылкой sms-сообщений. Моя контора захотела посылать своим клиентам информационные sms. Для отсылки sms-сообщений, надо передать скрипту, расположенному на сайте данной конторы методом POST несколькпо параметров: логин, пароль, список телефонов, сообщение.
Т.е. фактически надо перейти по url-у: http://smstraffic.ru/../script.php?login=mylogin&pwd=my...,79162222222&message=Test
В ответ данный скрипт выдает xml-документ следующего вида:
У меня нет проблем с тем, чтобы просто по нажатию кнопки отправить сообщения. Я завел таблицу в MySQL базе. В таблице два столбца номер телефона и id. По нажатию кнопки в форме из данной таблицы выбираются все телефоны и составляются в строчку через запятую. Эта строчка подставлятся переменнйо phone, в запросе для скрипта. Все данные передаются скрипту и на экране я вижу выше приведенный xml-документ.
Возник вопрос о том как скрыть данный xml от пользователя, чтобы он обрабатывался в фоне и в мою таблицу в MySQL подставлялись для каждого телефона sms_id.
В интернете находил примерные решения на JavaScript, но мне требуется на PHP.
На PHP в голову сразу пришло решение использовать функцию fopen, чтобы открывать данный xml-как файл и обрабатывать его с помощью регулярных выражений.
Однако fopen при запуске макроса ругается и говорит, что не может открыть файл, т.к. он через https. а не http.
Использовать Curl, не хочется так как нужна переносимость, а Curl стоит сейчас не на всех серверах.
Извиняюсь за возможный сумбур. Я очень надеюсь, что кто-нибудь подскажет какое-нибудь решение данной проблемы. Лучше всего наверное если подскажите как научить fopen открывать файлы и через https. Заранее спасибо.