Forum Webscript.Ru
		Программирование => PHP => Тема начата: HUNTER от 07 Декабря 2003, 17:48:00
		
			
			- 
				При вставке на страницу инклуда типа
 
 include("http://$_SERVER[HTTP_HOST]/forum/ssi.php?a=news&show=10"); ?>
 
 или
 
 include("http://www.server.com/forum/ssi.php?a=news&show=10"); ?>
 
 php в ответ ругается:
 
 Warning: main() [function.main]: php_network_getaddresses: getaddrinfo failed: No address associated with hostname in /usr/home/www/public_html/index.php on line 17
 
 Есть идеи?
- 
				не подключены необходимые расширения
			
- 
				есть.
 идея такая.
 команда include служит для включения в PHP скрипт файлов, написаных на PHP.
 ключевые слова я выделил.
 Главное ключевое слово - ФАЙЛ. инклюд включает ФАЙЛЫ. А файлы бывают только на диске.
 Второе ключевое слово - РНР. Инклюдить надо КОД РНР. И только.
 Если ты хочешь вставить какой-то ТЕКСТ, то для этого существуют другие команды. readfile например.
 
 По поводу же ошибки - это очевидно.
 Не может найти сервер запись ДНС для хоста, который ты запрашиваешь.
- 
				Просто на локалхосте это работает. а вот на хостинге нет, и мне не нужно вставлять кусок текста, мне нужно вставить именно сам скрипт и сполнить его со значением переменой в адресе. можно ли как нить по другому поступить если нужно вставить php файл с переменными задаваемыми в URL строке типа
 
 ssi.php?a=news&show=10
 
 Заранее пасиб!
- 
				HUNTER, скжи мне.
 ты когда-нибудь видел "файл с переменными"?
 У тебя на диске много файлов. Коунтерстрайк, старкрафт, еще много полезных программ. Ты видел там хоть один файл , чтобы ему передавались так переменные?
 Не видел.
 потому, что файлам так переменные не передаются.
 Потому, что файлы - на диске. А у тебя - урл. В браузере. Урл запрашивает у сервера ТЕКСТ. И получает ТЕКСТ. Ты бы хотя бы из любопытства, хоть бы раз в жизни заглянул в исходный текст полученной от РНР скрипта страницы, и убедился - там НИ ОДНОЙ РНР команды НЕТ. Там только текст. Текст с тегами.
 если ты вставляешь так, как вставляешь, то ты вставляешь не скрипт, а текст.
 Я понимаю, это очень трудно понять. Но не поняв, нельзя ни одной строчки на РНР писать.
 
 Если ты не понимаешь в теории, я тебе по-простому скажу.
 НЕЛЬЗЯ!!!!
 КОМАНДЕ INCLUDE!!!!
 В КАЧЕСТВЕ АРГУМЕНТА!!!!
 ПЕРЕДАВАТЬ ЧТО-ТО, НАЧИНАЮЩЕЕСЯ НА http://HTTP://
 А ПЕРЕДАВАТЬ НАДО ТОЛЬКО ФАЙЛЫ!!!
 а А ФАЙЛЫ ЛЕЖАТ НА ДИСКЕ!!!
 а НЕ В ИНТЕРНЕТЕ!!!
 
 Потому, что команде include надо передавать в качестве параметра файл с РНР кодом. А по http:// ты получишь РНР код либо от идиота, либо от хакера, и в этом случае идиотом будешь ты.
 
 и если ты хочешь вставить РЕЗУЛЬТАТ выполнения скрипта, это значит, что ты хочешь вставить ТЕКСТ.
 
 А если ты хочешь вставить не такст, а код, то инклюдь файл.
 напиши в инклюде путь к файлу на диске а перед этим определи переменные, которые ты хочешь передать этому скрипту. и все.
 
 Я так понимаю, что это - ЕДИНСТВЕННО правильный путь, судя потому, что хост у тебя свой.
- 
				А если уж никак не получается способами, которые описал Ромик, взгляни вот на это - [p]virtual[/p]
			
- 
				RomikChef я прекрасно понимаю суть PHP, но млин каким боком я смогу с хоста стянуть файл? Если он не у меня на сервере лежит?
			
- 
				RomikChef я прекрасно понимаю суть PHP, но дык каким же тогда еще способом можно заинклудить PHP файл лежащий не на моем хосте??
 
 я может не совсем правильно задал впрос :( вначале
 
 н оведь даже в мануале есть такое:
 
 Example 11-5. include() through HTTP
 
 // Works.
 include \'http://www.example.com/file.php?foo=1&bar=2\';
 ?>
- 
				С какого ХОСТА?
 В переменной $_SERVER[HTTP_HOST] у тебя лежит адрес твоего собственного сервера! Теперь ты говоришь, что файл у тебя не на сервере лежит.
 То есть, ты собрался тырить чужие новости и вставлять в свой сайт. Я правильно тебя понял?
- 
				В реальной жизни заинклудить пхп файл, лежащий не на своем хосте, ПРАКТИЧЕСКИ НЕВОЗМОЖНО.
 Это тебе просто. Для того, чтобы ты понял, наконец, что такое РНР, и как оно работает. А то у тебя с этим большие проблемы.
 
 По сути же твоего вопроса я тебе ответил в самом верху.
- 
				еще по сути твоего вопроса.
 Вот, читай самый первый пункт.
 http://xpoint.ru/forums/programming/PHP/faq.xhtml#44
 На будущее.
- 
				Пасиб за помощь! ничего я тырыть вообще то не собирался... разобрался сам..... ThE0ReTiC огромный thanks и правда в PHP запчастей не хватало :)
			
- 
				RomikChef 
 а как же тогда по твоему работают такие системы как http://www.web-promoter.ru ?
 или http://fastlink.msk.ru/
 или http://towerlinks.ru/
 
 и еще много им подобных?
- 
				ThE0ReTiC
 
 а не мог бы ты и мне поведать то что рассказал HUNTERу? каких запчастей не хватает? просто для общего развития интересно
- 
				Эти системы работают на идиотах.
			
- 
				А как тогда инклюдить htm файла, которые сами разбирают URL, как например http://kdg.htmlweb.ru/photo/index.htm?15