Avatar billede hbhansen Nybegynder
27. marts 2003 - 13:25 Der er 16 kommentarer og
1 løsning

Læsning af php fil i anden php fil

Hejsa

Har et problem jeg ville høre om der var nogen der kunne løse..
Først og fremmest vil jeg have en php fil som læser en anden php fil og viser det ønskede indhold (Ikke hvad der står i filen).
Problemet er at på nuværende tidspunkt kan jeg kun få den til at vise indholdet af php filen dvs. alt lige fra <? til ?> begge incl.
Har prøvet med readfile(...), hvilke virker så længe filen er fra en anden webadresse, men mine php filer ligger i samme bibliotek.
Nogen løsning?
Avatar billede sostack Nybegynder
27. marts 2003 - 13:35 #1
Avatar billede sylvesternielsen Nybegynder
27. marts 2003 - 13:36 #2
$handle = fopen ("/tmp/inputfile.txt", "r");
while (!feof ($handle)) {
    $buffer = fgets($handle, 4096);
    echo $buffer;
}
fclose ($handle);
Avatar billede sylvesternielsen Nybegynder
27. marts 2003 - 13:37 #3
Det var så et svar..
Avatar billede hbhansen Nybegynder
27. marts 2003 - 13:48 #4
sostack>> Problemet med dit svar er at den læser php filen og skriver det hele ud dvs. at de steder hvor jeg i phpfilen har skrevet <?echo $variable;?> skriver den <?echo $variable;?> og ikke værdien i variablen.. Skal jeg gøre noget med header(....); inden..

dj_saw>> Din kode udskriver alt i php til skærmen også <?... et eller andet ... ?>
Avatar billede sukos Juniormester
27. marts 2003 - 13:52 #5
include($dirname ."/dinfil.php");
Avatar billede sukos Juniormester
27. marts 2003 - 13:53 #6
hov! :O)
Avatar billede sukos Juniormester
27. marts 2003 - 13:54 #7
include($dirname($_SERVER["PHP_SELF"]) ."/dinfil.php");
Avatar billede hbhansen Nybegynder
27. marts 2003 - 13:57 #8
Sukos>> Problemet er at jeg ønsker at sortere noget fra php filen sådan at jeg kun får vidst det fra php filen jeg ønsker, derfor skal jeg læse linie for linie.. Så include(....) og require(...) duer ikke?
Hvordan kan det være at den ikke ser linier læst med fgets(...) som php men som txt... det bliver jo indsat i min php indtil scriptet er færdig. Så burde den jo tolke hele siden som php...
Avatar billede sukos Juniormester
27. marts 2003 - 13:58 #9
så må du skrive lidt mere info om hvordan du skiller ønsket output fra hinanden
Avatar billede sylvesternielsen Nybegynder
27. marts 2003 - 13:59 #10
Det jeg skrev outputter 1 linie ad gangen..
Avatar billede sylvesternielsen Nybegynder
27. marts 2003 - 14:00 #11
Du skal bruge eval bagefter hvis du ønsker at behandle det som php kode...
Avatar billede hbhansen Nybegynder
27. marts 2003 - 14:03 #12
dj_saw>> Ja, det har du ret i, men den tolker det som text hvilket gør at alt php kode bliver vidst på siden, det er ikke det jeg ønsker..
Sukos>> Jeg prøver at lave en print PHP side, dvs. ligemeget hvilken side jeg sender med som parameter så sætter den den op til udskrift.
Det jeg så gerne vil er at jeg i den PHP side der kommer med som parameter, gerne vi sætte et start og slut tag f.eks.
Noget kode
#[PRINT-START]
........
en helvedes masse kode
........
#[PRINT-SLUT]
Noget andet kode
Og så skal den kun vise det der ligger imellem de to tags.
Avatar billede sylvesternielsen Nybegynder
27. marts 2003 - 14:06 #13
Så skal du bruge eval() til at få det til at tolke det som php..
http://www.php.dk/eval
Avatar billede hbhansen Nybegynder
27. marts 2003 - 14:14 #14
Hvis jeg prøver eval()...
while($line = fgets($fp, 1024)) {
    $line = addslashes($line);
    eval("\$line = \"$line\";");
    $line = stripslashes($line);
    echo $line;
}
Giver det følgende fejl..
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in Eval code on line 1
$user_departmentid = $row["User_DepartmentID"];
Avatar billede sylvesternielsen Nybegynder
27. marts 2003 - 14:15 #15
Når du bruger eval skal det være 100% php.. uden <? og ?>
Avatar billede hbhansen Nybegynder
27. marts 2003 - 14:18 #16
Hmm, så duer den heller ikke... Andre løsninger?
Avatar billede hbhansen Nybegynder
27. marts 2003 - 15:30 #17
Har fundet en løsning..
Læser bare linie for linie af det jeg ønsker og så laver en tmp fil med dette:
$tmpfname = tempnam("/tmp", Session_ID());
$fp = fopen($tmpfname, "w");
fwrite($fp, $outline);
fclose($fp);
include($tmpfname);
unlink($tmpfname);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester