ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
530
530
EMPFEHLEN
-
Hi,
meine Website nutzt ein relativ simples "Template-System".
Ich habe HTML-Dateien mit Platzhaltern ( {content} etc.) und PHP-Dateien, die den Code enthalten und in denen die Inhalte erzeugt werden.
Am Ende jeder PHP-Datei kommt ein Teil, der immer gleich aufgebaut ist.
Mittels str_replace() ersetze ich die Platzhalter durch die dynamischen Inhalte. Die HTML-Dateien lade ich per file_get_contents() in das PHP-Script.
So weit, so gut
Nun habe ich für den Admin-bereich meiner Seite ein kleines Script geschrieben, mit dem sich Bilder in die DB eintragen lassen. Klappt auch wunderbar.
Das Problem liegt nun aber im Template Teil. Ich bekomme nur eine Fehlermeldung ausgegeben, kann diese aber absolut nicht nachvollziehen.
Hier zunächst mal mein Code:
Der Fehler tritt nur in der if-Abfrage auf, also wenn das Formular abgeschickt wurde. Der else-teil funktioniert super.PHP-Code:<?php
/* alkbrueder.de alkeys_insertpics.php last changed 02.06.05 by philipp@alkbrueder.de */
include("vars.inc.php");
if (isset($_POST["Submit"]))
{
$directory = '/blabla/'.$_POST["datum"];
chdir($directory);
$handle = opendir($directory);
$res = mysql_connect("localhost", "YYY", "XXX");
if (!$res)
{
echo "Kann z.Z. keine Verbindung zum Datenbankserver aufbauen.\n";
exit;
}
mysql_select_db("alkbrueder_de");
$i = 1;
while($file = readdir($handle))
{
$type = explode(".", $file);
if($type['1'] == "JPG" || $type['1'] == "SWF")
{
if(!is_dir($file))
{
$sqlab = 'INSERT INTO `gallery` (name, date, id2) VALUES ("'.$file.'", "'.$_POST['datum'].'", "'.$i.'")';
$res = mysql_query($sqlab) or die(mysql_error());
if($insert = $res)
{
$query_output .= 'Datei: <b>'.$file.'</b> eingefügt<br>';
}
else
{
$query_output .= 'Datei: '.$file.' nicht eingefügt<br>';
}
$i++;
}
}
}
mysql_close();
$alkeys_insertpics_output = str_replace("{output}", $query_output, file_get_contents("templates/message.html"));
}
else
{
$alkeys_insertpics_output = file_get_contents("templates/alkeys_insertpics.html");
}
$tpl = str_replace('{content}', $alkeys_insertpics_output, file_get_contents("templates/index.html"));
$tpl = str_replace('{rightbar}', "", $tpl);
$tpl = str_replace('{leftbar}', "", $tpl);
$tpl = str_replace('{welcome}', $welcome, $tpl);
$tpl = str_replace('{navi}', $tpl_navi, $tpl);
$tpl = str_replace('{paging}', "", $tpl);
print "$tpl";
?>
Wenn ich das Script ausführe, erhalte ich folgende Meldung:
Zeile 46 ist diese hier:Warning: file_get_contents(templates/message.html): failed to open stream: No such file or directory in /blabla/alkeys_insertpics.php on line 46
Nach genau diesem prinzip (und auch mit der Template-datei message.html) funktioniert es in anderen teilen meiner Site aber bestens.PHP-Code:$alkeys_insertpics_output = str_replace("{output}", $query_output, file_get_contents("templates/message.html"));
Einen Rechtsschreibfehler kann ich nicht entdecken.
Ich hab sogar schon, den ganzen teile darüber auskommentiert, um einen fehler in diesem Bereich zu vermeiden.
Hat alles nichts geholfen
Entweder hab ich nun Tomaten auf den Augen und übersehe etwas total offensichtliches oder der fehler liegt ganz woanders.
Bitte helft mir!
-
Naja...offensichtlich findet dein Script die Datei nicht, die sie öffnen soll!
greetz
daddzbe inspired...simplify...
-
...
Wie oben erwähnt, rufe ich die selbe Datei auch in anderen scripts im selben Verzeichniss auf - und da klappts ja merkwürdigerweise
Grad deswegen weiß ich ja auch nicht weiter
-
Es wäre mir echt wichtig, dass ihr mir hier helft.
Ich hab echt schon alles ausprobiert, den Fehler aber nicht gefunden...
-
Ich denke das Problem liegt hier:
Denn ich behaupte jetzt mal, dass "blabla" ein Unterverzeichnis des Verzeichnisses mit dem Script ist.PHP-Code:$directory = '/blabla/'.$_POST["datum"];
Du gibst einen absoluten Pfad an, und zwar /blabla
Falls Dein Script in /var/www/htdocs liegt und darunter auch blabla zu finden ist wirst Du aber entweder den absoluten Pfad /var/www/htdocs/blabla oder den relativen Pfad blabla (also ohne den / am Anfang) angeben muessen.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Da wär ich im Leben nicht drauf gekommen
Obene heisst es korrekt:
Nun habe ich auf deinen Post hin, bei den Templates auch den absoluten Pfad auf dem Server angegeben - siehe da: Jetzt gehtsPHP-Code:$directory = '/is/htdocs/45697/www.alkbrueder.de/gallery/'.$_POST["datum"];
Kannst du mir evtl. noch erklären, warum das so ist?!PHP-Code:file_get_contents("/is/htdocs/45697/www.alkbrueder.de/templates/message.html"));
-
Hat keiner ne Idee, warum dieser Fehler aufgetaucht ist?
Ich würd sowas in Zukunft gern vermeiden
-
Wenn Du ein relatives Verzeichnis angibst musst Du am Anfang den / weglassen damit das System auch weiss, dass der Pfad relativ ist, also innerhalb des aktuellen Ordners.
Beispiel:
Du befindest Dich in /usr, willst nach /usr/local wechseln.
Dazu kannst Du entweder mit dem absoluten Pfad arbeiten indem Du cd /usr/local eingibst, oder mit dem relativen indem Du cd local eingibst.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
Ähnliche Themen
-
Find den fehler nicht
Von floMatic im Forum PHPAntworten: 7Letzter Beitrag: 31.10.08, 03:03 -
Find den Fehler nicht... (Kommunikation mit MySql-DB)
Von ShOrtYk im Forum PHPAntworten: 6Letzter Beitrag: 06.01.06, 17:01 -
arrg, ich find den Fehler nicht
Von meilon im Forum PHPAntworten: 2Letzter Beitrag: 22.04.04, 13:40 -
ich find den fehler nicht ;(
Von apex im Forum PHPAntworten: 4Letzter Beitrag: 02.04.03, 20:50 -
*argh* fehler im GB-installscript find aber den fehler nicht
Von Wolf of Doom im Forum PHPAntworten: 5Letzter Beitrag: 06.05.02, 11:54





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren