ZoRaC Skrevet 5. juni 2005 Del Skrevet 5. juni 2005 Jeg skal inkludere en PHP-fil som ligger på en annen server, men trenger å "sende" noen variabler til den. Dette funker vel ikke? $var = "test"; include("http://www.domene.no/fil.php"); Eller include("http://www.domene.no/fil.php?var=test"); Hvordan kan jeg da få "sendt" $var til den eksterne filen? Lenke til kommentar
Zoxc Skrevet 5. juni 2005 Del Skrevet 5. juni 2005 du kan bruke ftp tilkobling til serveren, men det blir "lit" tungvint. Lenke til kommentar
dabear Skrevet 5. juni 2005 Del Skrevet 5. juni 2005 (endret) Jeg mener at php har ei inebygd sperre mot å inkludere kode fra andre servere. Ettersom du spør her, går jeg ut ifra at du har prøvd, og ikke fått det til. Det beste hadde vært om du hadde satt opp en webservice, men det finnes en enklere måte òg. <?php //definer eventuell variabler som skal brukes i fila nedafor her eval(file_get_contents('http://sidadi.tld/fil.php')); //variabler definert av scriptet du inkluderer vil være tilgjengelig ?> edit: det betyr sjølsagt at du må servere sciptet uten at det har blitt parsa av den eksterne serveren, samt at scriptet ikke må begynne og slutte med <?php ?> (eval() krever det) Endret 5. juni 2005 av dabear Lenke til kommentar
oro2 Skrevet 5. juni 2005 Del Skrevet 5. juni 2005 (endret) dabear: Man kan vel ikke hente php-filer gjennom HTTP uten at koden evalueres? EDIT: sorry. så ikke at du skrev at koden ikke skal begynne med <? glemt det. Endret 5. juni 2005 av oro2 Lenke til kommentar
Torbjørn Skrevet 6. juni 2005 Del Skrevet 6. juni 2005 kan du si mer detaljert hva du trenger det eksterne skriptet for? Lenke til kommentar
ZoRaC Skrevet 6. juni 2005 Forfatter Del Skrevet 6. juni 2005 kan du si mer detaljert hva du trenger det eksterne skriptet for? Jeg skal ha et script til å koble seg opp til min server og fortelle meg hvilken versjon av PHP-scriptet som kjøres på den "eksterne" serveren slik at den kan fortell om det er noen nyere versjon tilgjengelig... I tillegg skal filen "logge" hvilken versjon av PHP-scriptet som brukes på en "eksterne".. Versjons-info ligger i en variabel... Tror kanskje file_get_contents er løsningen. Må teste det. Lenke til kommentar
Torbjørn Skrevet 6. juni 2005 Del Skrevet 6. juni 2005 vel, husk at det du åpner en http-adresse med file_get_contents, så ser php det samme som du ser hvis du taster inn http-adressen i en browser Lenke til kommentar
dabear Skrevet 6. juni 2005 Del Skrevet 6. juni 2005 (endret) kan du si mer detaljert hva du trenger det eksterne skriptet for? Jeg skal ha et script til å koble seg opp til min server og fortelle meg hvilken versjon av PHP-scriptet som kjøres på den "eksterne" serveren slik at den kan fortell om det er noen nyere versjon tilgjengelig... I tillegg skal filen "logge" hvilken versjon av PHP-scriptet som brukes på en "eksterne".. Versjons-info ligger i en variabel... Tror kanskje file_get_contents er løsningen. Må teste det. Kunne du ikke bare sagt det med en gang? Ville vært mye enklere når jeg veit hva du vil fram til Merk at du må gå innpå den eksterne serveren gjennom nettleser, eller bruke cronjobs. I Tillegg kan egentlig hvem som helst sende en get string med høyere versjonstall.. Dette forutsetter at den eksterne serveren alltid har nyeste versjon eksternt script, kjørende på http:://externsite.com/giveAwayNewestPhpVersion.php: <?php $version = phpversion(); echo file_get_contents('http://yoursite.com/getNewPhpVersion.php?newest=' . $version); ?> Lokalt script, kjørende på http://yoursite.com/getNewPhpVersion.php : <?php if($_GET['version']) { $externVersion = $_GET['version']; $localVersion = phpversion(); switch (version_compare($localVersion, $externVersion )) { case 0: $output = 'De er like'; break; case -1: $output = 'versjon kjørende på (http://yoursite.com/getNewPhpVersion.php) er lavere '; break; case 1: $output = 'versjon kjørende på (http://yoursite.com/getNewPhpVersion.php) er høyere '; break; } echo $output; $fileRes = fopen('logFile.txt', 'a'); fwrite($fileRes, 'Ekstern versjon: ' . striptags($externVersion)); fclose($fileRes); } ?> Du skjønner tegna, men sikkert noen feil ovanfor- pleier å være det når jeg ikke får testa det ut sjøl Kan du ikke heller hente info om nyeste versjon fra http://no.php.net/downloads.php ? Endret 6. juni 2005 av dabear Lenke til kommentar
ZoRaC Skrevet 6. juni 2005 Forfatter Del Skrevet 6. juni 2005 dabear: Ser ut til å være noe i rett retning! Problemet var at include ikke støtter "?var=verdi"... Nå er det ikke PHP-versjonen jeg skal hente ut, men versjonen på mitt PHP-script. Likevel er det jo samme funksjon da. Lenke til kommentar
dabear Skrevet 6. juni 2005 Del Skrevet 6. juni 2005 (endret) Problemet var at include ikke støtter "?var=verdi"... smile2.gif Include støtter da det. Det er isåfall filsystemet som ikke støtter det. Filsystemet tolker det som hent file fil.php?var=verdi , som ikke finnes. Derimot over en http-stream så vil fil.php?var=finnes. konlusjon: Ved eksterne tilkoblinger: include('http://example.com/index.php?saa=mange&du=vil'); Ved lokale tilkoblinger: $saa = 'mange'; $du = 'vil'; include('http://example.com/index.php'); Endret 6. juni 2005 av dabear Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå