Вопрос № 152818: Добрый вечер! Есть задание: "Создать PHP сокет, который проверяя авторизацию, получает от клиента..." Что такое PHP-сокет? Он меня совсем из колеи выбил....
Вопрос № 152852: Здравствуйте! Я дилетант, поэтому застряла на простоте. Раньше в разделе rsk я создавала веб-страницы и всё было в порядке. Сейчас не потребовалось сначала создать папку Massage и в нее поместить новый файл. Появилась ошибка в hedere и
footer...Вопрос № 152881: Здравствуйте! Как передать информацию (xml) из файла в файл с помощью fputs()? По порядку: Открываю соединение: $fp = fsockopen('какой-то адрес или IP', 80); Передаю: fputs($fp, "GET http://site.od.ua/index.php HT...
Вопрос № 152.818
tr>
Добрый вечер!
Есть задание: "Создать PHP сокет, который проверяя авторизацию, получает от клиента..."
Что такое PHP-сокет? Он меня совсем из колеи выбил.
Про сокет - http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BA%D0%B5%D1%82_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D1%8B%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81); Пример использования сокета в php - http://www.opennet.ru/base/dev/php_sockets.txt.html.
Ответ отправила: Maska (статус: Студент)
Ответ отправлен: 04.12.2008, 13:48
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237632 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Если бы ещё ответили как его создать, а не просто подсоединиться к сокету: http://i-novice.net/sokety-v-php/
Вопрос № 152.852
Здравствуйте!
Я дилетант, поэтому застряла на простоте. Раньше в разделе rsk я создавала веб-страницы и всё было в порядке. Сейчас не потребовалось сначала создать папку Massage и в нее поместить новый файл. Появилась ошибка в hedere и footere (см приложение). Я не знаю что делать.
Скажите, пожалуйста, где и что именно надо "прописать".
Отвечает: Герасимов Виталий Владиславович
Здравствуйте, Новожилова Ольга! Все Дело в инклюдах... если память не подводит то что бы на каталог перейти выше нужно вот таким образом инелюд делать include("../phpincludes/header.ph4"); Итд...
--------- От работы кони дохнут, сисОдмин не человег О_о Он Бог!
#thank 237547 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Иван Сергеевич
Здравствуйте, Новожилова Ольга!
По умолчанию подключаемый файл должен быть расположен в той же директории, что и текущий (запущенный) скрипт. Поэтому надо либо учитывать вложенности папок (так, если header лежит в папке rsk, то путь получится вида "../phpincludes/header.ph4"). Вообще оптимальный путь - использовать единую точку входа на сайт: все обращения к сайту идут через файл Index.php, расположенный в корневой директории. Он уже в свою очередь подключает все необходимые файлы (библиотеки
функций, настройки и т.д.). Такой подход удобен тем, что все пути подключаемых скриптов указываются относительно одной точки - корня сайта (т.е. относительно файла index.php) и не надо беспокоиться, в директории rsk или massage Вы находитесь. Для перенаправления на index.php обычно используется файл .htaccess (подробнее о возможностях почитайте тут).
Ответ отправил: Иван Сергеевич (статус: Студент)
Ответ отправлен: 04.12.2008, 09:25
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237591 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 152.881
Здравствуйте!
Как передать информацию (xml) из файла в файл с помощью fputs()?
По порядку:
Открываю соединение: $fp = fsockopen('какой-то адрес или IP', 80); Передаю: fputs($fp, "GET http://site.od.ua/index.php HTTP/1.0
User-Agent: У меня свой браузер
Referer: rusfaq.ru
Cookie: kuka=мой кук
"); Как/куда в него вклинить xml? Как тому файлу (http://site.od.ua/index.php) ПРИНЯТЬ переданную строку? Где вообще можно почитать ПОДРОБНО о втором параметре функции fputs? Т.е. что можно передавать кроме User-Agent, Referer и Cookie?
Отвечает: Большаков Владимир Андреевич
Здравствуйте, Прим Палвер! Вся беда в том, что через сокеты мы работаем не с файлом, а с удаленной машиной. Это лишь способ взаимодействия. В нашем случае, мы налаживаем сокет-соединение по протоколу HTTP1.0, обращаясь к скрипту index.php на сервере site.od.ua. Передаем ему в http-запросе информацию о User-Agend, Referer, и Cookie. Еще мы можем передать ему POST-информацию, и огромное количество различных заголовков, допустимых в протоколе HTTP. 1) Чтобы в целом разобраться с работой через сокеты достаточно
осознать тот факт, что работа идет не с файлом index.php на том сервере, а с тем сервером, через скрипт index.php. Тоесть сервер, на котором мы пишем и выполняем вообще наш скрипт вступает взаимодействие с сервером по адресу site.od.ua, причем ведет себя как клиент(так себя ведет, например, браузер), а site.od.ua выступает в роли сервера. Как передавать информацию от клиента к серверу - это уже вопрос используемого протокола. 2) С осознанием пункта 1 станови
тся понятно, что на сервер site.od.ua поступает обыкновенный GET-запрос, как от браузера. Тоесть происходит то же что происходит при взаимодействии между браузером и сервером при нажатии на ссылку, или отправке формы. Следовательно, информацию принимать на site.od.ua/index.php следует так же как и информацию, передаваемую скрипту через html-форму. Надеюсь, с этой областью вы знакомы. Как отправлять информацию - см. ниже. 3) В приведенном примере, взаимодействие налаживается по протоколу HTTP1.0. Следовательно,
для решения задачи, вам следует в общих чертах разобраться в работе протокола HTTP. Это и есть ответ на последний вопрос. Весь протокол учить совершенно незачем, достаточно ознакомиться с минимальным запросом, и синтаксисом post-запроса(именно им мы и будем передавать наш xml). Почитать можно в википедии, по адресу: http://ru.wikipedia.org/wiki/Http
--------- SELECT * FROM `life`
#thank 237577 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо. Но не мешало бы в ответе ответить на вопрос, а не отсылать сразу по ссылкам. Например, вот эту строку: "GET /path/resource?param1=value1¶m2=value2 HTTP/1.1" Не воспринимайте, как неблагодарность. Я при первом прочтении той страницы упустил самую гланую строку. Так что спасибо, что ткнули ещё раз носом. Теперь смогу заснуть. Дополнительный вопрос: а POST можно как-либо передать?
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.