Funkcija include

Imam eno vprašanje. Za neko stran hočem s funkcijo include vstaviti zunanjo stran. To se pravi: Vendar je noče vstavit.
<?php
include 'http://nekastran.org/vsebina.php';
?>
Če pa dam (v tem primeru je vsebina.php na istem strežniku, kakor stran <- kar pa zame ne pride v poštev)
<?php
include 'vsebina.php';
?>
pa dela brez problema. Na uradni strani PHPja piše, da bi moralo delat.
Imam pa PHP5 (Windows) <- mogoče zaradi Windowsev ?

Hvala

14 odgovorov

Deluje ze, ampak ce bo tvoja stran, s katere na takle nacin pobiras vsebino, nedosegljiva ali slabo odzivna, se bodo slabo odzivale tudi ostale strani. Odlocitev je pa seveda tvoja :)

Se nekaj, razmisljaj tudi o tem, da ti vsak zahtevek na straneh B in C naredi zahtevek na web streznik, na katerem imas stran A, s tem pa seveda dodatno po nepotrebnem obremenjujes streznik. Racunaj tudi na to, da je HTTP komunikacija preko mreze vsekakor ze v osnovi pocasnejsa kot komunikacija z lokalnim diskom, torej tudi v primeru, ce se tvoj streznik A odziva solidno, vseeno zaradi tega pocetja poslabsujes odzivnost strani B in C.

Hvala za vse podatke in če bo stran delovala počasi, bom uporabil tvojo metodo, zaenkrat pa deluje vse bp ;)

Lahko narediš tudi cron, ki zapiše file na tvoj server. In potem parsaš lokalno, kar pa dela tudi kadar remote server ni dosegljiv in prikaže starejšo verzijo. V vsakem primeru deluje hitreje.

function fileexistscustom($file) {
$AgetHeaders = @getheaders($file);
return (bool) preg
match("|200|", $AgetHeaders[0]);
}

if(fileexistscustom("http://domena.com/file.php")) {
fileputcontents('file-lokalno.php', filegetcontents("http://domena.com/file.php"));
}