Gå til innhold

Variabler i "ekstern" PHP-fil


Anbefalte innlegg

Videoannonse
Annonse

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 av dabear
Lenke til kommentar
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
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 av dabear
Lenke til kommentar

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

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 av dabear
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...