• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

file_get_contents spinnt in selbsterstellter funktion

Status
Für weitere Antworten geschlossen.

XraYSoLo

Senior HTML'ler
abend,

für open x-news hatte ich vor, ein template-system zur verfügung zu stellen.
bisher hab' ich das hier hinbekommen:

PHP:
<?php
function template($template)
	{
	$template_path = 'styles/'.$template;
	
	if(!isset($template))
		{
		return false;
		}
			else
				{
				$template = file_get_contents($template_path);
				return $template;
				}
	}
?>

blöderweise entsteht ein fehler, der besagt, dass die datei oder das verzeichnis ungültig ist. ich hab' mal vermutungen angestellt und behaupte einfach mal, dass es zum schluss so aussieht:

Code:
file_get_contents(styles/template.tpl);

wie kann ich das unterbinden und dafür sorgen, dass ordnungsgemäß hochkommata gesetzt werden?
thx schonmal

Nils aka XraYSoLo
 
Wenn du die Hochkommata benötigst, solltest du mal folgendes Probieren.

Code:
$template_path = '\'styles/'.$template.'\'';

Ich empfehle dir aber vorher noch ne Überprüfung zu bauen, welche schaut ob die Datei existiert ;)
Aber das kommt bestimmt noch :D
 
Das dürfte normal nicht der Fehler sein... Falls doch, einfach mal die Variable in " setzen (auch wenn ds PHPler sträubt)
Ich vermute jedoch, dass tatsächlich was mit dem Pfad nicht stimmt. Hast du dir schonmal den $template_path ausgeben lassen? Stimmt er mit dem gewolltem überein?
 
ansonsten prüf nochmal ob du auch auf der richtigen ordner ebene bist. vll fehlt ja einfach nur ein "../". Falls es daran nicht leigt würde ich sicherheitshalber mal ein "./" am anfang versuchen.
 
also auch mit euren varianten gehts nicht. der pfad stimmt, aber er will die datei nicht einlesen...

Nils aka XraYSoLo
 
Im Notfall mal
PHP:
$template = implode ('', file ($templatepath));
so probieren.
 
also, ich hab' noch was 'rausgefunden: file_get_contents schlägt allgemein bei mir nicht an...

Nils aka XraYSoLo
 
daran liegts nicht, schon gemerkt. mittlerweile geht es mit readfile(), aber nur außerhalb der funktion...

Nils aka XraYSoLo
 
Da wir schon dabei sind, habe ich ne Frage zu function().

Also bei senem Codeschnipsel ist function template($template) dort.
Ich seh in der funktion immer die Variable $template, aber nirgends, wo sie bestimmt wurde.
Wie weiss der PHP Parser denn, was er mit dieser Variable soll?
Hab mich schon lange gefragt, was das bringt eine Variable oda was ind die Klammern zu setzen.
Das bei php.net hat mir nicht geholfen. :D


MfG, matibaski
 
@matibaski:
as ist eine Funktion. $template ist ein Funktionsparameter. Also eine variable die innerhalb der funktion verwendet werden kann.
Funktionen haben den sinn sich wiederholende codeteile auszulagern damit du sie einfach aufrufen kannst.
 
Danke..
Mir wurde es nur so halbwegs klar von PHP.net.
Aber ich werde mal ein wenig rumspielen und dann werde ich vielleicht dies zu 100% lernen. :D



MfG,matibaski
 
wenn file_get_contents nucht geht versuch doch mal fopen... soll ja manchmal helfen *gg*
 
Soweit ich informiert bin, benötigen Funktionen wie file_get_contents() Dateipfad-Angaben relativ zum Document-Root. Falls dein Document-Root unterhalb von "/styles" liegt, ist diese Info natürlich redundant :-)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben