28. marts 2003 - 11:33Der er
15 kommentarer og 2 løsninger
Include noget af en anden fil, ikke det hele.
Hej
Er der nogen der kan svare mig på hvordan man includer noget af en anden php fil og ikke det hele med funktionen include(...) F.eks: << Andenfil.php .. tekst 1 .. tekst 2 .. tekst 3 << Førstefil.php her ønsker jeg så kun at den f.eks. kun includer tekst 2
Hvis der er nogen der har andre løsninger til problemet er de også vel set...
nej, det kan du ikke, med mindre du deler din includefil op med nogle ifsætninger, og på den måde kun udføre noget af koden, hvis en variabel er sat til noget bestemt.
For syv sytten og en helvedes masse andre bandeord.. "Accepter" og "Afvis" sidder alt for tæt på hinanden.... Jeg kan ikke rigtig bruge jeres svar til noget... Jeg skal have den til at læse fra en php fil og så sortere noget at det læste fra.. Andenfil.php, kan jeg ikke rigtig pille ved... De er fast defineret fra starten af, men min visning skal kun vise noget af filen.
exp>> Du kan ikke bruge substr med php filer, det vil den ikke tolken ordentlig.. desværre.. Især ikke hvis php filen har parametre med. Eks. fil.php?var=test Kaer>> Det er ikke noget du har et kodet eks. på?
Ok, tak, prøver at kigge på det... Men så vidt jeg kan se så er eks. ligesom at læse en fil fra enden til anden og så adskille skidt fra kanel.. Det mener jeg ikke vil virke hvis php filen har parametre med ..
Har fundet frem til en lidt alternativ løsning, hvor jeg læse filen linie for linie og piller det ud jeg ønsker dernæste, tager jeg og gemme det i en ny fil som jeg sletter når jeg er færdig. så tager jeg såmen bare og includer den nye fil med de gamle parametre.. Alternativ løsning men den virker indtil videre.. Andre forslag er meget velkommen.
Jow, det kan jeg godt.. Det skal bruges til en print venlig side.. Og på alle sider afsætter jeg det der skal printes imellem: <? // ------ PRINT PAGE - START ------ ?> <? // ------ PRINT PAGE - END ------ ?> ob_start(); $pageExplode = explode("/", $page); $thePage = array_pop($pageExplode); //FIND PAGE PARAMETERS $pageParameters = explode("?",$thePage);
if (!$startPrintPage || !$stopPrintPage) { ?> <table width="100%" border="0" align="center"> <tr> <td align="center"> <br> <b>The page is not configurated to be used with this print page. <br> <br> Contact the system administrator for further information.</b> <br> </td> </tr> </table> <?} else { //SHOW RESULT session_start(); $tmpfilename = sessionID().".php"; session_destroy(); $tempfp = fopen($tmpfilename, "w"); fwrite($tempfp, "<? include_once(".chr(34)."../config/functions.php".chr(34).");?>\r\n"); fwrite($tempfp, $outline); fclose($tempfp);
if ($pageParameters{1}) { include($pageStart.$tmpfilename."?".$pageParameters{sizeof($pageParameters)-1}); } else { include($tmpfilename); } unlink($tmpfilename);
?> <body onload="window.print();"> <? } } else { ?> <table width="100%" border="0" align="center"> <tr> <td align="center"> <br> <b> The requested file couldn't be found. <br><br> Contact the system administrator for further information.</b> <br> </td> </tr> </table> <? }
ob_end_flush();
?>
Håber det giver mening.. Det er nok ikke den bedste løsning men den virker..
jeg vil stadig mene at du kan læse din fil ind i en $variable og så bruge preg_grep eller lignende til at finde hvad der er mellem dine <? // ------ PRINT PAGE - START ------ ?> og <? // ------ PRINT PAGE - END ------ ?>.
Du kan godt læse din side ind i en $variable med parametre.
Ja, men problemet med fopen hvor der står http i filnavn er at den så tolker det som om at det er en ny åbning af den pågældende side.. Dvs. at de login tjek jeg har på siden ikke vil slå igennem da det så er en "form for" ny session, der påbegyndes. Det resultere i at jeg får login siden tilbage i hovedet istedet.. Derfor denne lidt alternative kode :-)
Synes godt om
Ny brugerNybegynder
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.