Страница 1 из 1

file_get_contents():

Добавлено: 17 дек 2015, 16:48
Grand228
Доброго времени суток! Возникла проблема - не выводятся отзывы с digiseller. Дело в том, что когда устанавливаю скрипт на хостинге, с горем по полам все выводятся, но на когда запускаю на локалке через open-server, не работает. Уже сравнивал php версии, на моем хостинге установлена 5.4, в open-server ставил такую же, в конечном результате ошибка
Warning: file_get_contents(): in D:\OpenServer\domains\localhost\goods_info.php on line 265

Warning: file_get_contents(http://localhost\/resp_block.php?id_goods=1900521): in D:\OpenServer\domains\localhost\goods_info.php on line 265
На хостинге такой ошибки нет, вот сам код, на который жалуется, и можно считать неработоспособным на OpenServer.
	<div id=\"con_d_tab3\" class=\"di_tabs\">
	<div class=\"info\">  --> \n";
	$result .= "<div class=\"digiseller-reviews_content\">\n";
	$opts = array(
	'http'=>array(
	'method'=>"GET",
	'header'=>"Accept-language: en\r\n" .
	"User-Agent: Opera\r\n"
	)
	);
	$context = stream_context_create($opts);							
	if($resp_block = file_get_contents("http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"])."/resp_block.php?id_goods=".$_GET["id"], false, $context)){
	$result .= $resp_block;}
	$result .= "</div>\n";
	$result .= 	"		
	</div>
	</div>
	</div>
 </div>\n";
Вот картинка, что бы можно было по строкам понять

Изображение

Подскажите пожалуйста, как быть в данной ситуации? Просто хостинг хостингом, но мне нужно что бы оно работало и на open-server.

Re: file_get_contents():

Добавлено: 26 дек 2015, 17:49
DelphinPRO
dirname возвращает пусть в файловой системе. В windows разделителем директорий является символ '\', тогда как в unix - '/'. D.ybrct этот разделитель совпадает с разделителем в URI поэтому работает.

Перепишите этот код без использования любых функций работы с файловой системой. Это не правильно в принципе. URL и ФС - это совершенно не одно и то же.