Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Parse Error: unexpected $end ??? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Parse Error: unexpected $end ???


 
pascaluhlmann
05-03-2005, 19:47 
 
Hallo Leute!

Ich habe ein PHP-Script mit folgenden Code:<html>
<head>
</head>

<body>
&nbsp;<p>

<h1>XAMPP-Homes</h1>

<br>Auf dieser &Uuml;bersicht sind alle Home-Verzeichnisse ausgef&uuml;hrt.<p>

<table align="left" style="margin-left:10px">
<?php
//ANFANG Ordner auslesen
$dir = "./homes";
$homes = array();
$dir = @opendir($dir);

while (($file = readdir($dir)) !== false)
{
$homes[] = $file;
}
closedir($dir);
//ENDE Ordner auslesen
for ($n = 0; n <= (count($homes)-1); $n++)
{
echo <<<Folder
<tr>
<td width="55"><img src="./folder.png"></td>
<td>$homes[n]</td>
</tr>
Folder;
}
?>
</table>
</body>
</html>Beim Ausführen bekomme ich dann die folgende Fehlermeldung:
"Parse error: syntax error, unexpected $end in H:\xampp\htdocs\homes.php on line 54"
Zeile 52 ist in diesem Fall die Zeile "</html>", wobei ich nicht weiß was daran falsch sein könnte. Weiß jemand, wo das Problem liegt? Was ist $end?

MfG
Pascal

 
penizillin
05-03-2005, 19:48 
 
lies mal durch, wie man heredoc RICHTIG verwendet. php.net/echo, wenn ich mich nicht irre.

 
pascaluhlmann
05-03-2005, 19:56 
 
Tut mir leid, aber ich weiß nicht, was du meinst! Kannst du es mir bitte sagen? Ich bin nun mal noch Anfänger mit PHP!
Danke!

MfG
Pascal

 
penizillin
05-03-2005, 19:58 
 
http://de3.php.net/echo
du verwendest heredoc syntax - hier wird sie erklärt.
wenn du sie durchliest, wirst du deinen fehler erkennen.

 
pascaluhlmann
05-03-2005, 20:17 
 
Jetzt hab ich das Problem beseitigt, aber nun kommt das nächste:

"Parse error: syntax error, unexpected T_SL in H:\xampp\htdocs\homes.php on line 30"

Was heißt das, bzw woran liegt das?


MfG
Pascal

 
penizillin
05-03-2005, 20:19 
 
wie soll ich wissen, was in zeile 30 und drumrum steht?

 
pascaluhlmann
05-03-2005, 20:24 
 
Sorry, hab ich vergessen! Das Problem hängt vermutlich mit der (vermeintlichen) Lösung meines ersten Problems zusammen.

Zeile 28 - 36:for ($n = 0; n <= (count($homes)-1); $n++)
{
echo <<<Folder" //Zeile 30
<tr>
<td width=\"55\"><img src=\"./folder.png\"></td>
<td>$homes[n]</td>
</tr>"
Folder;
}
MfG
Pascal

 
penizillin
05-03-2005, 20:27 
 
wozu die anführungsstriche bei heredoc?

 
Floriam
05-03-2005, 20:29 
 
echo <<<END
Dies verwendet die "here document" Syntax, um mehrere
Zeilen mit $variablen Interpolation auszugeben. Beachten Sie,
dass das sich das here document Endezeichen in einer Zeile
mit nur einem Strichpunkt ohne extra Leerzeichen befinden muss!
END;


Das Manual musst du aber schon selbst lesen können :p

 
wahsaga
05-03-2005, 20:33 
 
Original geschrieben von penizillin
wozu die anführungsstriche bei heredoc?
und wofür das escapen der anführungszeichen innerhalb des heredocs?

da hat offenbar jemand noch keine ahnung, wie das, was er da einsetzt, funktioniert - für einen blick ins manual wird's also höchste zeit.

 
pascaluhlmann
05-03-2005, 20:35 
 
Hab ich ja versucht, aber ich bin nunmal nicht dahintergestiegen. Wie gesagt, ich bin noch PHP-Neuling, und da hab ich's auch mit Fachbegriffen noch nicht so!

Wärst du vielleicht so freundlich und würdest mir helfen? Mit den Anführungszeichen meinte ich, mein ursprüngliches Problem lösen zu können!

 
TobiaZ
05-03-2005, 20:35 
 
nun, entweder du lies[t] mal durch, wie man heredoc RICHTIG verwendet. oder du machst es auf den herkömmlichen weg.man bin ich langsam, man sollte nicht nebenbei tetris spielen...

 
penizillin
05-03-2005, 20:42 
 
keine angst, wird schon..

fasse doch mal den satz aus dem manual (der sogar schon hier von Floriam zitiert wurde) in eigenen worten zusammen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:08 Uhr.