abonnement Unibet Coolblue Bitvavo
pi_56070661
http://nl.php.net/file_get_contents
quote:
file_get_contents — Reads entire file into a string
pi_56070692
quote:
Op woensdag 16 januari 2008 12:44 schreef MuRKie het volgende:
Hoi iedereen,
ik ben nieuw in deze topic reeks. Zag net pas dit topic langskomen.
Laat ik er maar meteen gebruik van maken..

Ik ben beetje aan het rommelen met het maken van een cms systeempje..
Nu vroeg ik me af of je een bestand kan includen in een variabele.
Ik had zoiets gezien op www.php.net/include maar ik krijg het niet werkend.. Ik heb het idee dat ik dat voorbeeld niet begrijp en dat het voor andere doeleinden is dan waarvoor ik het wil gebruiken.

Hier dat voorbeeld:
[..]

Wat ik hier eigenlijk mee wil is de code die in de te includen file staat in de variabele krijgen. Zodat ik deze later kan printen. Ik wil geen gebruik maken van ob_start..
Maar volgens mij kan je niet includen in een variabele of wel?

Iemand die me hiermee kan helpen?
Hoe wil je eigenlijk in een .html php zetten?
pi_56070723
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    
function get_include($file)
    {
        foreach(
$_POST AS $key => $value) {
            ${
$key} = $value;
        }

        foreach(
$_GET AS $key => $value) {
            ${
$key} = $value;
        }

        
ob_start();

        include
$file;
        
$buffer = ob_get_contents();
        
        
ob_end_clean();  
        
        return
$buffer;        
    }
?>


Werkt voor mij prima

Oeps, je wil geen ob_start gebruiken, dan zou ik het ook niet weten.
Gr. Gr.
  woensdag 16 januari 2008 @ 12:51:35 #29
67938 MuRKie
..warm as butters..
pi_56070836
quote:
Op woensdag 16 januari 2008 12:47 schreef Flaccid het volgende:

[..]

Hoe wil je eigenlijk in een .html php zetten?
Wie heeft het over een .html?
Ow dat voorbeeld zie ik nu
Ik weet niet hoe je dat wilt ik heb het ook maar van php.net gekopieerd.. Zal wel main.php moeten zijn ofzo..
  woensdag 16 januari 2008 @ 12:55:24 #30
67938 MuRKie
..warm as butters..
pi_56070918
quote:
Op woensdag 16 januari 2008 12:48 schreef unox_worst het volgende:

[ code verwijderd ]

Werkt voor mij prima

Oeps, je wil geen ob_start gebruiken, dan zou ik het ook niet weten.
Ik had van een vriend van me, die meer ervaring heeft met php dan ik, vernomen dat ob_start geen nette en verouderde methode was ofzo? Vandaar dat ik dat niet wil gebruiken, maar als jij het tegendeel kan bewijzen dan hoor ik het graag. Ik sta open voor nieuwe informatie
  woensdag 16 januari 2008 @ 12:57:47 #31
67938 MuRKie
..warm as butters..
pi_56070970
quote:
Is dat een nette methode? Zie mijn post hierboven over ob_start..
Ik weet niet of dat ook een nette methode is?

Ik zelf had het geprobeerd alsvolgt:
1
2
3
<?php
$varComponentResult 
= include('map/file.php');
?>

maar volgens mij is dat een hele domme poging

[ Bericht 14% gewijzigd door MuRKie op 16-01-2008 13:55:57 ]
pi_56070977
quote:
Op woensdag 16 januari 2008 12:55 schreef MuRKie het volgende:

[..]

Ik had van een vriend van me, die meer ervaring heeft met php dan ik, vernomen dat ob_start geen nette en verouderde methode was ofzo? Vandaar dat ik dat niet wil gebruiken, maar als jij het tegendeel kan bewijzen dan hoor ik het graag. Ik sta open voor nieuwe informatie
Ik ken zo geen andere manier, maar ik ben dan ook geen echte expert
Ik was allang blij dat ik dit voor elkaar kreeg.
Maar wat zou er mis zijn met ob_start dan? Als er alternatieven zijn die beter werken dan zou ik dat ook wel graag willen weten.
Je kan volgens mij geen include in een variabele stoppen, ik kreeg er foutmeldingen op volgens mij.
Gr. Gr.
pi_56071482
"ob_start" houd alle output richting de browser tegen, vangt het tijdelijk op in een buffer, en laat het daarna pas zien. Als je dat voor dit soort doeleinden gebruikt kan het ietwat vies zijn.
  woensdag 16 januari 2008 @ 13:19:30 #34
67938 MuRKie
..warm as butters..
pi_56071559
quote:
Op woensdag 16 januari 2008 13:16 schreef Geqxon het volgende:
"ob_start" houd alle output richting de browser tegen, vangt het tijdelijk op in een buffer, en laat het daarna pas zien. Als je dat voor dit soort doeleinden gebruikt kan het ietwat vies zijn.
Dat bedoel ik.. Maar file_get_contents is wel een schone manier hiervoor?
En wordt de inhoud van de file dan eerst geevalueerd en dan in een variabele gestopt?
Het te includen script maakt namelijk wel gebruik van functies die in de file staan die het script gaat includen..
Anders moet ik namelijk wel mijn huidige methode blijven gebruiken om dit werkend te houden..

Ik laad nu het script in via require('map/script.php'); en in script.php return ik een variabele welke ik in het script waarin ik script.php include weer in een variabele plak.. om het even gemakkelijk te maken

[ Bericht 13% gewijzigd door MuRKie op 16-01-2008 13:26:44 ]
  woensdag 16 januari 2008 @ 13:34:51 #35
107951 JortK
Immer kwaliteitsposts
pi_56072309
quote:
Op woensdag 16 januari 2008 13:19 schreef MuRKie het volgende:

[..]

Dat bedoel ik.. Maar file_get_contents is wel een schone manier hiervoor?
En wordt de inhoud van de file dan eerst geevalueerd en dan in een variabele gestopt?
Het te includen script maakt namelijk wel gebruik van functies die in de file staan die het script gaat includen..
Anders moet ik namelijk wel mijn huidige methode blijven gebruiken om dit werkend te houden..

Ik laad nu het script in via require('map/script.php'); en in script.php return ik een variabele welke ik in het script waarin ik script.php include weer in een variabele plak.. om het even gemakkelijk te maken
file_get_contents is niets anders dan het bestand opvragen, en de letterlijke tekst die erin staat returnen. Net zoals jij het bestand in notepad zou openen.
pi_56072502
quote:
Op dinsdag 15 januari 2008 08:35 schreef PiRANiA het volgende:
Weet iemand hoe ik dit moet oplossen:
1
2
3
4
5
<?php
if(newtopicmatches('[PHP/(My)SQL] voor dummies')){
echo 
"tvp geplaatst;
}
?>


:P
Ja, ik denk dat het probleem zit in het feit dat je de string niet afsluit met dubbele quotes, ik zou het volgende doen:
(let op regel 3 :o )
1
2
3
4
5
<?php
if(newtopicmatches('[PHP/(My)SQL] voor dummies')){
echo 
"tvp geplaatst";
}
?>
8-)
  woensdag 16 januari 2008 @ 13:57:53 #38
67938 MuRKie
..warm as butters..
pi_56072602
quote:
Op woensdag 16 januari 2008 13:45 schreef Geqxon het volgende:

[..]

file_get_contents is niets anders dan het bestand opvragen, en de letterlijke tekst die erin staat returnen. Net zoals jij het bestand in notepad zou openen.
Ja maar include zorgt ervoor dat de included file onderdeel wordt van het script waarin je het include..
Maar als ik het in eenvariabele stop via file_get_contents dan is dat niet het geval of wel?
pi_56072769
quote:
Op woensdag 16 januari 2008 13:57 schreef MuRKie het volgende:

[..]

Ja maar include zorgt ervoor dat de included file onderdeel wordt van het script waarin je het include..
Maar als ik het in eenvariabele stop via file_get_contents dan is dat niet het geval of wel?
Tip:

1
2
3
4
5
6
<?php
// #to_include.php
function getWhatINeed(){
  return 
"Foo";
}
?>


1
2
3
4
5
<?php
// #main.php
include('to_include.php');
$bar getWhatINeed();
?>


:)
  woensdag 16 januari 2008 @ 14:10:23 #40
84926 WyriHaximus
Release the hounds smithers!
pi_56072907
quote:
Op woensdag 16 januari 2008 13:57 schreef MuRKie het volgende:

[..]

Ja maar include zorgt ervoor dat de included file onderdeel wordt van het script waarin je het include..
Maar als ik het in eenvariabele stop via file_get_contents dan is dat niet het geval of wel?
Nee standaard niet, file_get_contents returned de inhoud van het bestand wat je ophaald. echter
1
2
3
<?php
eval(file_get_contents($file));
?>
is het zelfde als
1
2
3
<?php
include($file);
?>
phluphy for president!
  woensdag 16 januari 2008 @ 14:42:18 #41
67938 MuRKie
..warm as butters..
pi_56073828
quote:
Op woensdag 16 januari 2008 14:05 schreef Geqxon het volgende:

[..]

Tip:
[ code verwijderd ]


[ code verwijderd ]

Ja zo doe ik het nu dus.
Maar in de to_include.php wordt weer een bestand geinclude via dezelfde methode.
En ik vond die constructie een beetje omslachtig dus ik hoopte dat te kunnen omzijlen via de include in een variabele..
Maar misschien is mijn huidige constructie dan toch de beste methode..
  woensdag 16 januari 2008 @ 14:43:41 #42
67938 MuRKie
..warm as butters..
pi_56073868
quote:
Op woensdag 16 januari 2008 14:10 schreef WyriHaximus het volgende:

[..]

Nee standaard niet, file_get_contents returned de inhoud van het bestand wat je ophaald. echter
[ code verwijderd ]

is het zelfde als
[ code verwijderd ]
Maar dan zit het dus nog niet in een variabele?
Ik denk ook bij nader inzien niet dat dat handig is in mijn situatie, maar allicht kan ik het later nog ergens goed voor gebruiken..

Ik moet het namelijk zo hebben dat hij eerst de to_include file afhandeld en het resultaat in de variabele zet. En dat kan niet via de methode die ik in de OP aangaf denk ik.
Ik denk dan toch dat ik mijn huidige methode oftewel de hierboven door Geqxon genoemde methode moet blijven gebruiken

Of kan ik de volgende methode gebruiken:
1
2
3
<?php
     $varComponentResult 
= eval(file_get_contents($file));
?>
pi_56074298
Ik kan me niet voorstellen dat eval(file_get_contents()) good practice is. Ik zou nog eens goed naar je opzet kijken want op die manier dingen doen kan éécht niet goed zijn
  woensdag 16 januari 2008 @ 15:05:09 #44
67938 MuRKie
..warm as butters..
pi_56074352
quote:
Op woensdag 16 januari 2008 15:02 schreef Thomass het volgende:
Ik kan me niet voorstellen dat eval(file_get_contents()) good practice is. Ik zou nog eens goed naar je opzet kijken want op die manier dingen doen kan éécht niet goed zijn
Ik heb het nu op de manier gedaan zoals Geqxon heeft beschreven.
Maar ik dacht dat het makkelijker zou zijn om het rechtstreeks in een variabele te includen, maar ik begin langzaam aan te twijfelen of dat ook echt zo is..
pi_56075131
Weet iemand trouwens hoe ik het slim aan kan pakken, dat als ik volledig met MultiView danwel Mod_Rewrite werk, hoe ik dan mijn forms met GET kan posten?

Ik heb nu een drop-down list met diverse automerken, en daarnaast eentje met diverse kleuren. Ik wil dat hij bij een submit naar "/cars/chevrolet/red/" gaat, maar is dat zonder javascript wel mogelijk?
  woensdag 16 januari 2008 @ 15:40:09 #46
136730 PiRANiA
All thinking men are atheists.
pi_56075309
quote:
Op woensdag 16 januari 2008 15:33 schreef Geqxon het volgende:
Weet iemand trouwens hoe ik het slim aan kan pakken, dat als ik volledig met MultiView danwel Mod_Rewrite werk, hoe ik dan mijn forms met GET kan posten?

Ik heb nu een drop-down list met diverse automerken, en daarnaast eentje met diverse kleuren. Ik wil dat hij bij een submit naar "/cars/chevrolet/red/" gaat, maar is dat zonder javascript wel mogelijk?
1
2
3
<?php
header
('location: /cars'.$_GET['merk']. '/'$_GET['merk']);
?>

?

zonder submit is het niet mogelijk zonder javascript denk ik
  woensdag 16 januari 2008 @ 15:43:30 #47
62215 qu63
..de tijd drinkt..
pi_56075390
quote:
Op woensdag 16 januari 2008 15:33 schreef Geqxon het volgende:
Weet iemand trouwens hoe ik het slim aan kan pakken, dat als ik volledig met MultiView danwel Mod_Rewrite werk, hoe ik dan mijn forms met GET kan posten?

Ik heb nu een drop-down list met diverse automerken, en daarnaast eentje met diverse kleuren. Ik wil dat hij bij een submit naar "/cars/chevrolet/red/" gaat, maar is dat zonder javascript wel mogelijk?
het post-veld van je formulier laten verwijzen naar de waarden van je 2 dropdown lijsten lijkt me, geen idee of dat dan javascript is of html
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_56075404
quote:
Op woensdag 16 januari 2008 15:40 schreef PiRANiA het volgende:

[..]
[ code verwijderd ]

?

zonder submit is het niet mogelijk zonder javascript denk ik
Echter zou ik in dat geval al mijn pagina's aan moet passen. Ik ga er nog even mee fiddlen. Ik kan JavaScript natuurlijk ook optioneel maken, en dat javascriptloze personen dan helaas wel richting "car.php?brand=chevrolet&color=red" gaan. Het is toch maar een extraatje.
  woensdag 16 januari 2008 @ 15:44:19 #49
67938 MuRKie
..warm as butters..
pi_56075416
quote:
Op woensdag 16 januari 2008 15:40 schreef PiRANiA het volgende:

[..]
[ code verwijderd ]

?

zonder submit is het niet mogelijk zonder javascript denk ik
Volgens mij kan dat ook alleen zonder javascript als je dat met een submit button doet..
pi_56075421
ff tvptje.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')