/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
include fra andet domæne
Fra : Aagaard


Dato : 15-01-03 11:43

Jeg bruger <? include ("inc/top.php"); ?> og filen 'top.php' er den samme
for en række domæner, og den skal opdateres ned jævne mellemrum.
Hvordan henter jeg den fra et andet domæne? Jeg har prøvet med <? include
("http://www.foo.dk/inc/top.php"); ?> fra domænet http://www.foo2.dk, men
det virker ikke.

Mvh.
Aagaard



 
 
Lars Dybdahl (15-01-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 15-01-03 11:58

Du skal huske, at når du skriver http:// foran et http script, så bliver php
scriptet kørt, og det, du får, er resultatet, ikke selve scriptet.

Du kan godt lave en include() på en http:// visning, men du får altså
resultatet af at køre det script, du peger på.

Hvis du vil have et script fælles for flere domæner, så skal du:

1) Lægge php filen på en harddisk, som begge webservere har adgang til. Det
kræver normalt, at begge domæner ligger på samme webserver.
2) Konvertere php-scriptet til ren html-kode, så du med din browser ville
kunne se source-koden, og så inkludere det med http. Dette er dog meget
sjældent at anbefale, da hele verden så kan se din source-kode.

Hilsen,

Lars.

--
Freelance programmør
Programmering mod timebetaling

Aagaard (15-01-2003)
Kommentar
Fra : Aagaard


Dato : 15-01-03 12:14

"Lars Dybdahl" <lars@dybdahl.dk> skrev:
> Du skal huske, at når du skriver http:// foran et http script, så bliver
php
> scriptet kørt, og det, du får, er resultatet, ikke selve scriptet.
>
> Du kan godt lave en include() på en http:// visning, men du får altså
> resultatet af at køre det script, du peger på.
>
> Hvis du vil have et script fælles for flere domæner, så skal du:
>
> 1) Lægge php filen på en harddisk, som begge webservere har adgang til.
Det
> kræver normalt, at begge domæner ligger på samme webserver.
> 2) Konvertere php-scriptet til ren html-kode, så du med din browser ville
> kunne se source-koden, og så inkludere det med http. Dette er dog meget
> sjældent at anbefale, da hele verden så kan se din source-kode.
>
> Hilsen,
>
> Lars.

Der er ingen html-kode i min include.php. Det er kun definitionen af
variabler som f.eks. $foo = "Tekst som skal ændres på flere domæner på en
gang";
Alle domæner ligger på samme server.

Mvh.
Aagaard



Niels Andersen (15-01-2003)
Kommentar
Fra : Niels Andersen


Dato : 15-01-03 12:27

Aagaard wrote in <b03fi1$82d$1@news.cybercity.dk>:
>> 2) Konvertere php-scriptet til ren html-kode, så du med din browser ville
>> kunne se source-koden, og så inkludere det med http. Dette er dog meget
>> sjældent at anbefale, da hele verden så kan se din source-kode.
> Der er ingen html-kode i min include.php. Det er kun definitionen af
> variabler som f.eks. $foo = "Tekst som skal ændres på flere domæner på en
> gang";
> Alle domæner ligger på samme server.

Prøv at kalde filen ".txt" i stedet for ".php". Går du ind på den med en
browser, vil du så nok for kilde-koden at se. Det er en skidt ting hvis vi
snakker sikkerhed, men så vil "den anden" webserver også kunne se
php-koden, og så vil det fungere.

Den *bedste* løsning er nok en bedre opdaterings-metode, så filen nemt
opdateres på alle webservere.

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Lars Dybdahl (15-01-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 15-01-03 13:45

Niels Andersen wrote:
> Prøv at kalde filen ".txt" i stedet for ".php".

Et Columbus æg.

Lars.

--
Freelance programmør
Programmering mod timebetaling

Leonard (15-01-2003)
Kommentar
Fra : Leonard


Dato : 15-01-03 12:32

On Wed, 15 Jan 2003 12:13:37 +0100, "Aagaard" <skriv-ikke@til.dk>
wrote:

>Alle domæner ligger på samme server.

Brug hele stien til filen.
På min server ligger alle domæner således:

/pub/www/domain1/index.html
/pub/www/domain2/index.html

en fil der ligger på domain1/inc/top.php
kan jeg på domain1 include med:

include("inc/top.php");

mens jeg på domain2 kan skrive:

include("/pub/www/domain1/inc/top.php");

Mon ikke du kan noget lignende?
--
med venlig hilsen
Leonard - http://leonard.dk/

Jesper Brunholm (15-01-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 15-01-03 14:53

Leonard wrote:
>>Alle domæner ligger på samme server.
>
> Brug hele stien til filen.
> På min server ligger alle domæner således:
>
> /pub/www/domain1/index.html
> /pub/www/domain2/index.html

i plaintekst: udnyt at de ligger på samme server og undgå http?

/Jesper Brunholm

--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


Lars Dybdahl (15-01-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 15-01-03 12:28

Normalt skriver du php-kode sådan her:

<?
$var="test";
?>

Hvis du vil føre et script hen over internettet, skal den htmlkodes således
ud:

&lt;?
$var="test";
?&gt;

Men eftersom de ligger på samme server, skal du bare angive den rigtige sti,
f.eks.:

<? include "/vejen/til/det/andet/domaene/fil.php"; ?>

Hilsen,

Lars.

--
Freelance programmør
Programmering mod timebetaling

Peter Brodersen (15-01-2003)
Kommentar
Fra : Peter Brodersen


Dato : 15-01-03 14:05

On Wed, 15 Jan 2003 12:28:17 +0100, Lars Dybdahl <lars@dybdahl.dk>
wrote:

>Hvis du vil føre et script hen over internettet, skal den htmlkodes således
>ud:
>
>&lt;?
>$var="test";
>?&gt;

Det giver næppe mening. include-funktionen parser ikke HTML eller
-entities.

--
- Peter Brodersen

Lars Dybdahl (15-01-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 15-01-03 14:45

Erm... skal vi ikke bare glemme hvad jeg skrev?

Lars.

--
Freelance programmør
Programmering mod timebetaling

Kim Emax (15-01-2003)
Kommentar
Fra : Kim Emax


Dato : 15-01-03 14:08

"Aagaard" <skriv-ikke@til.dk> wrote

> Alle domæner ligger på samme server.

Symlink?

--
Kim Emax



Aagaard (15-01-2003)
Kommentar
Fra : Aagaard


Dato : 15-01-03 15:20

"Aagaard" <skriv-ikke@til.dk> skrev i en meddelelse
news:b03doe$5s9$1@news.cybercity.dk...
> Jeg bruger <? include ("inc/top.php"); ?> og filen 'top.php' er den samme
> for en række domæner, og den skal opdateres ned jævne mellemrum.
> Hvordan henter jeg den fra et andet domæne? Jeg har prøvet med <? include
> ("http://www.foo.dk/inc/top.php"); ?> fra domænet http://www.foo2.dk, men
> det virker ikke.
>
> Mvh.
> Aagaard

Svar til alle.
Jeg har prøvet alle forslag, men det virker ikke.
Løsningen vil nok være at flytte til en Linux server. Pt. ligger det på en
Windows 2000 Advanced Server m. Apache.

Tak for alle forslag.

Med venlig hilsen
Aagaard



Kim Emax (15-01-2003)
Kommentar
Fra : Kim Emax


Dato : 15-01-03 15:27

"Aagaard" wrote

> Svar til alle.
> Jeg har prøvet alle forslag, men det virker ikke.

Jeg er _ret_ sikker på at symlink ville løse dit problem (i hvert fald på en
*NIX, ved ikke om man kan lave samme ting i Windows)

> Løsningen vil nok være at flytte til en Linux server. Pt. ligger det på en
> Windows 2000 Advanced Server m. Apache.

? Hvorfor er det en løsning? (udover den jeg forslog)

Forslaget om at have det liggende som .txt ville også virke. Endnu bedre
kunne du have en php fil, der først tjekker om du har adgang (du sender
username og password med), så genererer den side du vil se, den samler du op
med fopen() og parser videre...(utestet)

--
Kim Emax



Aagaard (15-01-2003)
Kommentar
Fra : Aagaard


Dato : 15-01-03 17:13

> Jeg er _ret_ sikker på at symlink ville løse dit problem (i hvert fald på
en
> *NIX, ved ikke om man kan lave samme ting i Windows)

Jeg har læst lidt om symlink, og jeg tror det er en *UNIX feature.

> > Løsningen vil nok være at flytte til en Linux server. Pt. ligger det på
en
> > Windows 2000 Advanced Server m. Apache.
>
> ? Hvorfor er det en løsning? (udover den jeg forslog)

Det hele ligger på min egen server, som efter 6 års trofast drift står foran
udskiftning. Den nye server er indkøbt, og kører med Redhat 8, men jeg skal
lige have tid til at sætte mig ind i hvordan det hele virker på Linux ...
Apache, postfix, proftp, webmin osv. Der er 50 domæner med tilhørende mail
som skal flyttes, så det er ikke noget jeg sådan lige gør på en weekend.
(Der skal jo også tjenes penge, så det er al fritid der går med Linux pt.).

> Forslaget om at have det liggende som .txt ville også virke. Endnu bedre
> kunne du have en php fil, der først tjekker om du har adgang (du sender
> username og password med), så genererer den side du vil se, den samler du
op
> med fopen() og parser videre...(utestet)

Filen som skal hentes er en config fil. Det er altså kun variabler, der
læses ind på på den enkelte side, hvor de så parses til HTML. Variablerne er
ens for en del domæner, og for at undgå at skulle opdatere 30-40 config
filer - og der kommer flere domæner hen ad vejen, så er der nemmere blot at
opdatere én.

Mvh.
Aagaard



Niels Andersen (15-01-2003)
Kommentar
Fra : Niels Andersen


Dato : 15-01-03 19:01

Aagaard wrote in <b0413p$sn4$1@news.cybercity.dk>:
> Det hele ligger på min egen server,
[...]
> Variablerne
> er ens for en del domæner, og for at undgå at skulle opdatere 30-40 config
> filer - og der kommer flere domæner hen ad vejen, så er der nemmere blot
> at opdatere én.

Ud fra det du har sagt kan jeg kun se én "rigtig" løsning: Placer filen et
sted, der ikke er tilknyttet et bestemt domæne. Fx. den mappe alle
domænernes mapper ligger i, eller i mappe oprettet specielt til formålet.

Hvis du fx. bruger denne struktur:

D:\wwwroot\domæne1.dk\
D:\wwwroot\domæne2.dk\
D:\wwwroot\domæne3.dk\
....

Kunne du placere filen i "D:\wwwroot\" eller "D:\wwwroot\global\". Du kan så
include den med <?php require('c:/wwwroot/global/vars.php');?> eller noget
i den stil.

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Aagaard (16-01-2003)
Kommentar
Fra : Aagaard


Dato : 16-01-03 13:17

> Ud fra det du har sagt kan jeg kun se én "rigtig" løsning: Placer filen et
> sted, der ikke er tilknyttet et bestemt domæne. Fx. den mappe alle
> domænernes mapper ligger i, eller i mappe oprettet specielt til formålet.
>
> Hvis du fx. bruger denne struktur:
>
> D:\wwwroot\domæne1.dk\
> D:\wwwroot\domæne2.dk\
> D:\wwwroot\domæne3.dk\
> ...
>
> Kunne du placere filen i "D:\wwwroot\" eller "D:\wwwroot\global\". Du kan

> include den med <?php require('c:/wwwroot/global/vars.php');?> eller noget
> i den stil.
>
> --
> Mvh.
> Niels Andersen

Tak for hjælpen - det vil blive testet på RH8 en af de kommende dage.

Mvh.
Aagaard



Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408545
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste