|
|
|
| Не могу записать полученные с помошью сокетов данные от сервера.
<?php
$hostname = "хост";
$path = "путь";
$line = "";
// Устанавливаем соединение, имя которого
// передано в параметре $hostname
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
// Данные HTTP-запроса
// Заголовок HTTP-запроса
$headers = "POST $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
// Отправляем HTTP-запрос серверу
// Получаем ответ
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
file_put_contents("1.html",$line);
fputs("2.html",$line);
fwrite("3.html",$line);
?>
|
пробовал все три варианта.
file_put_contents("1.html",$line);
fputs("2.html",$line);
fwrite("3.html",$line); | |
|
|
|
|
|
|
|
для: Max78
(23.04.2010 в 08:18)
| | fputs("2.html",$line);
fwrite("3.html",$line);
так нельзя, "спроси меня почему"
echo $line; перед file_put_contents("1.html",$line); что кажет? | |
|
|
|
|
|
|
|
для: Valick
(23.04.2010 в 09:14)
| | изменил
echo $line;
file_put_contents("1.html",$line);
fputs("2.html",$line);
fwrite ("3.html",$line);
|
но ничего не сохраняет | |
|
|
|
|
|
|
|
для: Max78
(23.04.2010 в 09:23)
| | эх... день обещает быть трудным
первое и самое главное:
fputs("2.html",$line);
fwrite ("3.html",$line);
уберите нафиг из кода, позже я покажу как пользоваться этими функциями.
второе и не менее важное:
я Вас спросил что выводит в браузер echo $line; если оно ничего не выводит, значит переменная $line пуста, и с большой вероятностью можно утверждать что сервер Вам ничего не ответил. | |
|
|
|
|
|
|
|
для: Valick
(23.04.2010 в 09:30)
| | Выводит заголовки , а следом выводит сам сайт. ,$line не пуст | |
|
|
|
|
|
|
|
для: Max78
(23.04.2010 в 09:32)
| | судя по Вашему коду вы вообще заголовок не отправляете | |
|
|
|
|
|
|
|
для: Valick
(23.04.2010 в 11:31)
| | В результате моего кода мне приходят заголовки
HTTP/1.1 200 OK Date: Fri, 23 Apr 2010 07:13:09 GMT Server: Apache/1.3.33 (Win32) PHP/4.3.10 X-Powered-By: PHP/4.3.10 Cache-Control: no-store, no-cache, must-revalidate Connection: close Transfer-Encoding: chunked Content-Type: text/html
|
а затем
выыодится сам сайт . | |
|
|
|
|
|
|
|
для: Max78
(23.04.2010 в 08:18)
| | Вам имеет смысл на минуточку забыть о file_put_contents и fsockopen.
И изучить сперва функции fopen, fgets, fputs, fclose применительно к обычным (текстовым) файлам.
После этого можно будет воспринимать fsockopen с куда меньшей головной болью. | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2010 в 11:38)
| | Вы знаете . если не использовать сокеты , то следуюший код работает.
$text = file_get_contents("http://www.softtime.ru");
file_put_contents("1.html",$text);
|
на localhost'e следуюший простой код работает.
[code][
<?php
file_put_contents("2.html","oksana");
?>
/code]
То есть даже если и нету файла 2.html он создаёт и сохраняет в него значение "oksana"
а на сервере этот код не работает, то есть не сохраняет. Поэтому наверное и с сокетами не получалось. | |
|
|
|
|
|
|
|
для: Max78
(23.04.2010 в 12:21)
| | Вы бы сразу намекнули чтоль, что тестируете скрипт на сервере | |
|
|
|
|
|
|
|
для: Max78
(23.04.2010 в 12:21)
| | >Вы знаете . если не использовать сокеты , то следуюший код работает.
Вы гадаете на кофейной гуще. Способствовать этому процессу желания нет никакого.
>То есть даже если и нету файла 2.html он создаёт и сохраняет в него значение "oksana"
>а на сервере этот код не работает, то есть не сохраняет.
Это потому что у файлов есть полный путь (а не просто название) и права доступа к каталогу.
И всё это имеет смысл знать раньше, чем лезть на чужой сервер за чужим контентом.
>Поэтому наверное и с сокетами не получалось.
А сокеты тут еще пока не при чем. | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2010 в 13:44)
| | Большое спасибо за подсказку. Код я оказывается написал правильно. Да вот у меня право на папку оказывается был не для записи. Не ловко как то. Чтоб другие время не теряли прочитав эту тему, удалите пожалуйста эту тему. Или могу ли я удалить её | |
|
|
|
|
|
|
|
для: Max78
(23.04.2010 в 18:02)
| | тут темы не удаляют, придет время и её скинут в архив... для потомков :) | |
|
|
|