|
| [PHP] Problem med at benytte en fil fra et~ Fra : Bertel Lund Hansen |
Dato : 10-09-03 21:53 |
|
Hej alle
Jeg eksperimenterer med include() og require(). Det er nemt nok
hvis jeg lægger alle filer på samme server, men i dag har jeg
bakset med at lægge en funktion på en central server og så
benytte den fra andre domæner. Det kan jeg ikke.
Virker fint:
<?
include "funktioner.php";
.... en masse kode ,,,
print "Skriv til ".mailadresse();
?>
Virker ikke:
<?
include " http://lundhansen.dk/bertel/funktioner.php";
.... en masse kode ,,,
print "Skriv til ".mailadresse();
?>
Det er samme fil, og jeg kan se at filen godt nok bliver fundet
rigtigt, men funktionen er bare ikke tilgængelig. Jeg kan i
øvrigt også skrive den samme include-sti i min browser og få en
tom side uden fejl (der er kun funktioner i filen - ingen 'aktiv'
kode).
Hvad er problemet?
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Martin C. Petersen (10-09-2003)
| Kommentar Fra : Martin C. Petersen |
Dato : 10-09-03 22:06 |
|
> Jeg eksperimenterer med include() og require(). Det er nemt nok
> hvis jeg lægger alle filer på samme server, men i dag har jeg
> bakset med at lægge en funktion på en central server og så
> benytte den fra andre domæner. Det kan jeg ikke.
[klip]
> Hvad er problemet?
Når du beder om filen over http, bliver koden sikkert fortolket som php af
afsender-serveren - prøv at kalde filen funktioner.inc eller lignende, så
den ikke fortolkes som php.. (så skal du jo bare lige være klar over, at
koden kan ses af alle og enhver)
Du er godt klar over, at der næsten ikke er nogen forskel mellem include()
og require() i nyere versioner af php (>=4.0.2), ikke?
Martin
| |
Bertel Lund Hansen (10-09-2003)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 10-09-03 22:54 |
|
Martin C. Petersen skrev:
>Du er godt klar over, at der næsten ikke er nogen forskel mellem include()
>og require() i nyere versioner af php (>=4.0.2), ikke?
Jeg blev fintet af at læse noget lignende i en eller anden
tutorial. Der er væsentlig forskel på de to metoder:
Include() kan give en advarsel hvis der er problemer, men
require() crasher.
Include() kan returnere en booolesk værdi, det kan require() ikke
(naturligt nok).
Det tog mig nogen tid at regne ud at jeg skulle bruge include()
hvis jeg ville have vist siden selv om funktionsserveren var
nede, netop fordi jeg troede at det var ligegyldigt om det var
include() eller require().
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Martin C. Petersen (11-09-2003)
| Kommentar Fra : Martin C. Petersen |
Dato : 11-09-03 07:23 |
|
> >Du er godt klar over, at der næsten ikke er nogen forskel mellem
include()
> >og require() i nyere versioner af php (>=4.0.2), ikke?
>
> Jeg blev fintet af at læse noget lignende i en eller anden
> tutorial. Der er væsentlig forskel på de to metoder:
>
> Include() kan give en advarsel hvis der er problemer, men
> require() crasher.
Det er også en meget mindre forskel, end der var tidligere..
Martin
| |
Christian Joergensen (11-09-2003)
| Kommentar Fra : Christian Joergensen |
Dato : 11-09-03 08:44 |
|
On Thu, 11 Sep 2003 08:23:08 +0200, Martin C. Petersen wrote:
> Det er også en meget mindre forskel, end der var tidligere..
Hvad mener du?
--
Christian Jørgensen | If you need a screwdriver,
http://www.razor.dk | use the general purpose hammer.
| |
Martin C. Petersen (11-09-2003)
| Kommentar Fra : Martin C. Petersen |
Dato : 11-09-03 15:45 |
|
> > Det er også en meget mindre forskel, end der var tidligere..
>
> Hvad mener du?
At require() tidligere altid inkluderede filen, uanset om linien, hvor
require() står, afvikles..
Martin
| |
Martin C. Petersen (11-09-2003)
| Kommentar Fra : Martin C. Petersen |
Dato : 11-09-03 07:23 |
|
> >Du er godt klar over, at der næsten ikke er nogen forskel mellem
include()
> >og require() i nyere versioner af php (>=4.0.2), ikke?
>
> Jeg blev fintet af at læse noget lignende i en eller anden
> tutorial. Der er væsentlig forskel på de to metoder:
>
> Include() kan give en advarsel hvis der er problemer, men
> require() crasher.
Det er også en meget mindre forskel, end der var tidligere..
Martin
| |
Bertel Lund Hansen (10-09-2003)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 10-09-03 23:05 |
|
Martin C. Petersen skrev:
>Når du beder om filen over http, bliver koden sikkert fortolket som php af
>afsender-serveren - prøv at kalde filen funktioner.inc eller lignende, så
>den ikke fortolkes som php..
Jeg glemte lige før at sige tak for det her. Det er utvivlsomt
forklaringen.
>(så skal du jo bare lige være klar over, at koden kan ses af alle og enhver)
Også tak for det, men katastrofen er til at overse. Her er den
ultrahemmmelige kode:
<?
function mailadresse () {
return "mailto:nospamius%40lundhansen.dk";
}
?>
Fidusen er bare at jeg skal frem til kun at skulle rette min
mailadresse ét sted.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Jimmy (10-09-2003)
| Kommentar Fra : Jimmy |
Dato : 10-09-03 23:15 |
|
"Bertel Lund Hansen" <nospamius@lundhansen.dk> wrote in message
news:qr7vlvc7idpjuk2mgjv10dcoefodakfhnd@news.stofanet.dk...
> <?
> function mailadresse () {
> return "mailto:nospamius%40lundhansen.dk";
> }
> ?>
>
> Fidusen er bare at jeg skal frem til kun at skulle rette min
> mailadresse ét sted.
Jamen er det ikke derfor man har opfundet databaser og/eller config-filer,
som kan inkluderes overalt?
/Jimmy
| |
Bertel Lund Hansen (10-09-2003)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 10-09-03 23:40 |
|
Jimmy skrev:
>> Fidusen er bare at jeg skal frem til kun at skulle rette min
>> mailadresse ét sted.
>Jamen er det ikke derfor man har opfundet databaser og/eller config-filer,
>som kan inkluderes overalt?
Det er nok lidt voldsomt at oprette en database til at huske én
mailadresse. Config-filer kender jeg fra andre sammeenhænge, men
ikke fra nettet. Men det er heller ikke så længe jeg har arbejdet
med PHP.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Jimmy (10-09-2003)
| Kommentar Fra : Jimmy |
Dato : 10-09-03 23:44 |
|
"Bertel Lund Hansen" <nospamius@lundhansen.dk> wrote in message
news:1s9vlvk2m7m3n5kn9mkbnlijjuo6v8m337@news.stofanet.dk...
> Jimmy skrev:
>
> >> Fidusen er bare at jeg skal frem til kun at skulle rette min
> >> mailadresse ét sted.
>
> >Jamen er det ikke derfor man har opfundet databaser og/eller
config-filer,
> >som kan inkluderes overalt?
>
> Det er nok lidt voldsomt at oprette en database til at huske én
> mailadresse.
Ja det er jeg enig med dig i.
Dog er jeg sikker på at du før eller siden skal anvende dem, og der vil det
være oplagt at lagre den slags informationer.
> Config-filer kender jeg fra andre sammeenhænge, men
> ikke fra nettet.
Det vil være mere hensigtsmæssigt i dit tilfælde.
<?php
$Email_Adresse = 'min@adresse.dk';
$Telefon = "'+45 12345678";
?>
Den inkluderer du i toppen af hvert script og kan nu anvende variablerne og
stadig kun ændre eet sted.
At oprette en funktion til hver information er overkill.
Mvh
Jimmy
| |
Rasmus Christian Kaa~ (11-09-2003)
| Kommentar Fra : Rasmus Christian Kaa~ |
Dato : 11-09-03 08:01 |
|
> Det vil være mere hensigtsmæssigt i dit tilfælde.
>
> <?php
> $Email_Adresse = 'min@adresse.dk';
> $Telefon = "'+45 12345678";
> ?>
>
> Den inkluderer du i toppen af hvert script og kan nu anvende variablerne
og
> stadig kun ændre eet sted.
Det vil nok være bedre at bruge konstanter med f.eks. DEFINE.
| |
Bertel Lund Hansen (10-09-2003)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 10-09-03 23:20 |
|
Martin C. Petersen skrev:
>Når du beder om filen over http, bliver koden sikkert fortolket som php af
>afsender-serveren
Ja, nu er jeg til bunds i problemet, og det var forklaringen. Mit
hoteludbyder spærrer i øvrigt for adgang til inc-filer, men jeg
fik det op at køre på et andet domæne. Det er bare ikke så 'kønt'
at det ikke ligger på mit eget domæne, men det må jeg så fundere
over.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Jesper Brunholm (11-09-2003)
| Kommentar Fra : Jesper Brunholm |
Dato : 11-09-03 06:17 |
|
Bertel Lund Hansen wrote:
> Martin C. Petersen skrev:
>
>
>>Når du beder om filen over http, bliver koden sikkert fortolket som php af
>>afsender-serveren
>
>
> Ja, nu er jeg til bunds i problemet, og det var forklaringen. Mit
> hoteludbyder spærrer i øvrigt for adgang til inc-filer, men jeg
> fik det op at køre på et andet domæne. Det er bare ikke så 'kønt'
> at det ikke ligger på mit eget domæne, men det må jeg så fundere
> over.
Jamen - jf det du har hørt hos Jimmy og jf din egen research kan du da
få løst problemet?
Hvis du nu _kun_ lægger den mailadresse i filen:
********** include-fil.txt *******
bertel@etellerandetsted.dk
********** slut includefil ***
********* brugsfil ***********
Det er muligt at kontakte mig på <php include( http://include-fil.txt) ?>
********* slut brugsfil ******
'Problemet' med include er at du altid vil modtage et udparset resultat
hvis det er en fil som parses af sendende server...
Hvis du gerne vil have informationen lidt mere detaljeret i det centrale
ark, så se på
parse_ini_file() ( http://dk.php.net/parse_ini_file)
mvh
Jesper Brunholm
| |
Bertel Lund Hansen (11-09-2003)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 11-09-03 10:08 |
|
Jesper Brunholm skrev:
>Jamen - jf det du har hørt hos Jimmy og jf din egen research kan du da
>få løst problemet?
Ja, jeg fandt en workaround i går. Jeg gav filen en anden endelse
end inc ...
>********** include-fil.txt *******
>bertel@etellerandetsted.dk
>********** slut includefil ***
>********* brugsfil ***********
>Det er muligt at kontakte mig på <php include( http://include-fil.txt) ?>
>********* slut brugsfil ******
Smukt.
>'Problemet' med include er at du altid vil modtage et udparset resultat
>hvis det er en fil som parses af sendende server...
Hvilke problemer kan det give?
>Hvis du gerne vil have informationen lidt mere detaljeret i det centrale
>ark, så se på parse_ini_file() ( http://dk.php.net/parse_ini_file)
Okay.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Jesper Brunholm (11-09-2003)
| Kommentar Fra : Jesper Brunholm |
Dato : 11-09-03 10:46 |
|
Bertel Lund Hansen wrote:
>>********** include-fil.txt *******
>>bertel@etellerandetsted.dk
>>********** slut includefil ***
>
>
>>********* brugsfil ***********
>>Det er muligt at kontakte mig på <php include( http://include-fil.txt) ?>
>>********* slut brugsfil ******
>
> Smukt.
Godt - så fik jeg da lavet _noget_ godt med den post
>>'Problemet' med include er at du altid vil modtage et udparset resultat
>>hvis det er en fil som parses af sendende server...
>
> Hvilke problemer kan det give?
Jeg gentog vist bare den konklusion som du selv havde anført i den post
som jeg svarede på (fordi jeg ikke havde læst den ordentligt).
Det problem jeg mente var i hvert fald blot det at det er et
tekstresultat man får leveret igennem http, som man, hvis man vil have
det parset som php, skal køre igennem eval() ligesom hvis man henter
noget med fopen() eller fra database.
>>Hvis du gerne vil have informationen lidt mere detaljeret i det centrale
>>ark, så se på parse_ini_file() ( http://dk.php.net/parse_ini_file)
Ved nærmere eftersyn var det ikke en ret præcis formulering. Det jeg
mente var: med parse_ini_file() - funktionerne bliver det let at lægge
flere variabler og lignende ind i en ekstern fil, og de kan let trækkes
ud igen når den åbnes.
mvh
Jesper Brunholm
--
Phønix - dansk folk-musik i front - < http://www.phonixfolk.dk/>
H.C. Andersen-Centret: < http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: < http://garion.dk/>
| |
|
|