|
|
|
|
|
для: RV
(15.07.2005 в 14:34)
| | Для этого содержимое файла следует поместить в переменную и отправить в окно браузера при помощи конструкции echo http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3966 | |
|
|
|
|
|
|
|
для: JIEXA
(15.07.2005 в 07:11)
| | а подскажите как содержимое файла (текст) затолкать в этот самый буфер? | |
|
|
|
|
|
|
|
для: JIEXA
(14.07.2005 в 20:38)
| |
$line .= fgets($fp, 1024);
| меняем на
$i++;
$line .= fgets($fp, 1024);
if ($i>5) break;
|
и все летает! респект isset'y! | |
|
|
|
|
|
|
|
для: JIEXA
(14.07.2005 в 20:34)
| | закомментировал этот кусок кода
<?
for($y=0; $y<count($submitter); $y++)
{
$hostname = $submitter[$y];
$path = "/submit.php"; // Аккуратнее с именами и путями
$line = "";
// Устанавливаем соединение, имя которого
// передано в параметре $hostname
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения
if (!$fp) print "<li>Ошибка при отсылки на http://".$hostname."/...</li><br />\n";
else
{
$data = "";
// Данные HTTP-запроса
for($i=0; $i<count($title); $i++)
{
$data .= "title[]=".urlencode($title[$i])."&url[]=".urlencode($url[$i])."&";
}
$data .= "sname=".urlencode($_POST['sname'])."&surl=".urlencode($_POST['surl'])."&email=".urlencode($_POST['email'])."\r\n\r\n";
// Заголовок 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-запрос серверу
fwrite($fp, $headers.$data);
// Получаем ответ
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
print "<li>На сайт http://".$hostname."/ инфа отправлена...</li>";
ob_flush();
}
}
?>
|
и тогда браузер мгновенно вводит любой текст, но сами понимаете этот кусок кода самый важный и он что-то глючит :( | |
|
|
|
|
|
|
|
для: isset
(14.07.2005 в 19:47)
| | Неполучается... долго долго грузит и пишет что страница не найдена :( | |
|
|
|
|
|
|
|
для: JIEXA
(14.07.2005 в 19:36)
| | Вместо ob_flush() попробуй flush() | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(14.07.2005 в 10:40)
| | а почему тогда пишет, что страница не найдена и так долго происходит отправка? | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(14.07.2005 в 10:40)
| | Есть такое дело... помоему где-то даже можно настроить порог, после которого Apache отсылает данные... | |
|
|
|
|
|
|
|
для: JIEXA
(12.07.2005 в 23:04)
| | Эксперименты показали, что сервер отдает данные порциями, после превышения определенного количества килобайтов.
У меня на локальной машине эта порция равно около 30 кБ. Т.е. если данных для вывода в браузер накопилось более 30 Кб, то они отправляются клиенту, а php-скрипт продолжает выполнение. Если данных меньше, то данные отправляются только после того, как скрипт полностью завершит свою работу.
Принудительная отправка данных с помощью ob_flush() не помогла. Все равно отправляет порциями. | |
|
|
|
|
|
|
|
для: cheops
(13.07.2005 в 00:51)
| | Неа неполучается :(. У меня скрипт через сокеты, отправляет данные методом пост, на различные сайты, их более 20. И вот он очень долго выполняется, а потом в браузере пишет "Страница не найдена на сервере". Поэтому я хотел сделать, чтобы выводилось в браузер сразу, после отсылки на сайт.
А кстати, что сакеты очень долго работают? Я просто дома, когда тестил скрипт, отправлял данные, так вот они отправлялись где-то секунд 20. Хотя запускал на локалхосте, и отправлял на локалхост. Как скрипт рассылщик, использовал пример cheops'a(тобешь ваш). Вот кстати он сам:
<?
set_time_limit(0);
@ignore_user_abort(true);
ob_flush();
print "отправка начита!";
ob_flush();
#####################
# Список сайтов #
#####################
$submitter[] = "mysite1.ru";
$submitter[] = "mysite2.ru";
$submitter[] = "mysite3.ru";
#############
# Настройки #
#############
$_POST['sname'] = "Инфомационно-развлекательный портал"; # Название сайта
$_POST['surl'] = "http://www.otvali.ru"; # URL сайта
$_POST['email'] = "support@otvali.ru"; # E-Mail
$title[] = "Информация 1";
$url[] = "Ссыклка на инф. 1";
$title[] = "Информация 2";
$url[] = "Ссыклка на инф. 2";
$title[] = "Информация 3";
$url[] = "Ссыклка на инф. 3";
print "<ul>";
for($y=0; $y<count($submitter); $y++)
{
$hostname = $submitter[$y];
$path = "/submit.php"; // Аккуратнее с именами и путями
$line = "";
// Устанавливаем соединение, имя которого
// передано в параметре $hostname
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения
if (!$fp) print "<li>Ошибка при отсылки на http://".$hostname."/...</li><br />\n";
else
{
$data = "";
// Данные HTTP-запроса
for($i=0; $i<count($title); $i++)
{
$data .= "title[]=".urlencode($title[$i])."&url[]=".urlencode($url[$i])."&";
}
$data .= "sname=".urlencode($_POST['sname'])."&surl=".urlencode($_POST['surl'])."&email=".urlencode($_POST['email'])."\r\n\r\n";
// Заголовок 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-запрос серверу
fwrite($fp, $headers.$data);
// Получаем ответ
$i="0";
while (!feof($fp))
{
$i++;
$line .= fgets($fp, 1024);
}
print $i;
fclose($fp);
print "<li>На сайт http://".$hostname."/ инфа отправлена...</li>";
ob_flush();
}
}
print "</ul>";
print "Вся инфа отправлена!";
?>
|
Может у меня где-то ошибка в скрипте? | |
|
|
|
|