когда я использую fsockopen для открытия php-страницы, код работает нормально, но есть некоторые другие проблемы. Например: если я открою b.php в a.php, «эхо» не будет работать в b.php, сообщение об ошибке тоже (эти две вещи отлично работают на общей странице). Это делает отладку очень сложной. Как получить вывод на странице b?
Большое спасибо! вот мой код. Я использую main.php для вызова main_single_block.php.PS: все работает нормально, кроме двух вещей, о которых я упоминал выше.
основной.php:
$template_url_arr_s = serialize($template_url_arr);
$fp = fsockopen($sochost, intval($socportno), $errno, $errstr, intval($soctimeout));
if (!$fp) {
echo "$errstr ($errno) ,open sock erro.<br/>\n";
}
$typename= urlencode($typename);//do url encode (if not, ' 'can not be handled right)
$template_url_arr_s= urlencode($template_url_arr_s);
*$out = "GET /main/main_single_block.php?typename=" . $typename . "&templateurlarr=" . $template_url_arr_s . "\r\n";*
fputs($fp, $out);
fclose($fp);
file_get_contents
? - person Barmar   schedule 03.10.2014$fp
, например.$output = fgets($fp)
- person Barmar   schedule 03.10.2014$fp
из функции, а не закрывать. Затем вызывающий может присвоить его переменной и прочитать из нее. - person Barmar   schedule 03.10.2014main_single_block.php
, она просто вmain.php
, как вы ее написали. Два сценария не имеют общих переменных.main.php
просто читает вывод изmain_single_block.php
, как это делает веб-браузер. - person Barmar   schedule 03.10.2014