Viele Bilder werden nicht angezigt

hupfdohle

Gesperrt
hallo liebe tutorials community,
erstmal großes lob an die ganze Community sehr gelungene Seite!

Doch jetzt zu meiner Frage ich habe ein Galerie Script es funktioniert auch soweit jedoch werden manche Bilder nicht angezeigt

-9.jpg,11.jpg wird angeziegt
aber
Meine Fotos(1).jpg wird nicht angezigt hat das mit dem leerezichen zu tuen oder so
ich hatte eine andere Galerie benutz da ging es auch mit diesen endungen.
Hier mal der Code von der aktuellen Galerie:
PHP:
<?php
$dir='images/';
$thumb='images/';

$x3=dir($dir);
$x4=array();
while(false!==($entry= $x3->read()))if(strlen($entry)>2)$x4[]=$entry;
$x3->close();

sort($x4);

echo '<table border="1">'."\r\n";

for($i1=0;$i1<count($x4);$i1+=3){
echo '<tr>'."\r\n";
for($i3=0;$i3<3;$i3++){
echo '<td>';

if($x4[$i1+$i2+$i3])echo "<a href=".$dir."/".$x4[$i1+$i2+$i3]."><img border=0 src=".$thumb."/".$x4[$i1+$i2+$i3]."></a>";
else echo '&nbsp;';

echo '</td>'."\r\n";
}#end if($i3...

echo '</tr>'."\r\n";
}#end if($i1...

echo '</table>'."\r\n";
?>

Großen Dank schonmal im Vorraus
 
Du solltest HTML-Attributwerte in Anführungszeichen setzen, da sie sonst keine Leerzeichen enthalten dürfen beziehungsweise diese speziell kodiert werden müssen.
 
Wieso nimmst du dann nicht die andere? :)

Ich würde folgendes tun: Beim Upload die Dateinamen schon bereinigen.
 
HTML-Attributwerte gehen, wenn sie nicht in Anführungszeichen stehen, bis zum ersten Leerraumzeichen (Leerzeichen, Zeilenumbruch) oder ersten Großer-als-Zeichen („>“). Wenn du also „Meine Fotos(1).jpg“ ohne Anführungszeichen als Attributwert ausgibtst:
HTML:
<img src=foobar/Meine Fotos(1).jpg>
wird nur das „foobar/Meine“ als Attributwert von src gewertet. Der Rest („Fotos(1).jpg“) jedoch als neues Attribut.
Deswegen musst du entweder das Leerzeichen kodieren oder aber den Attributwert in Anführungszeichen setzen, damit das Leerzeichen als Teil des Attributwerts und nicht als Trennung zwischen zwei Attributen gezählt wird:
HTML:
<img src="foobar/Meine Fotos(1).jpg"> oder <img src='foobar/Meine Fotos(1).jpg'>
<img src=foobar/Meine&#32;Fotos(1).jpg> oder <img src=foobar/Meine&#x20;Fotos(1).jpg>
<img src=foobar/Meine%20Fotos(1).jpg>
 
" erzeugst du mit Escape Seqenzen... in diesem Fall \"

also:

Code:
if($x4[$i1+$i2+$i3])echo "<a href=".$dir."/".$x4[$i1+$i2+$i3]."><img border=0 src=".$thumb."/".$x4[$i1+$i2+$i3]."></a>";

wird geändert in:

Code:
if($x4[$i1+$i2+$i3])echo "<a href=\"".$dir."/".$x4[$i1+$i2+$i3]."\"><img border=0 src=\"".$thumb."/".$x4[$i1+$i2+$i3]."\"></a>";
 
Zuletzt bearbeitet:
" erzeugst du mit Escape Seqenzen... in diesem Fall \"

also:

Code:
if($x4[$i1+$i2+$i3])echo "<a href=".$dir."/".$x4[$i1+$i2+$i3]."><img border=0 src=".$thumb."/".$x4[$i1+$i2+$i3]."></a>";

wird geändert in:

Code:
if($x4[$i1+$i2+$i3])echo "<a href=\"".$dir."/".$x4[$i1+$i2+$i3]."\"><img border=0 src=\"".$thumb."/".$x4[$i1+$i2+$i3]."\"></a>";

Sehr vielen dank hat geklappt =)
 
Bläätterfunktion

Hallo hab nochmal n Frage und zwar bin ich grad dabei n kleine Galerie zu Coden und immoment werden alle Bilder in einer Tabelle als Thumbnails dargestellt und wenn man sie anklickt werden sie in einem Leeren Festerangezeigt ich will das man nun in dieser Ansicht zum nächsten und ein Bild zurück wechseln kann.

Jedoch weiß ich nicht genau wie ich dsa realisieren kann könnt iohr mir helfen

Wäre sehr sehr Dankbar :)

aktuelles Script:
PHP:
<?php
$dir='images/';
$thumb='images/';

$open=dir($dir);
$img=array();
while(false!==($entry= $open->read()))if(strlen($entry)>2)$x4[]=$entry;
$open->close();

sort($img);

echo '<table border="1">'."\r\n";

for($i1=0;$i1<count($x4);$i1+=3){
echo '<tr width="30%">'."\r\n";
for($i3=0;$i3<3;$i3++){
echo '<td>';

if($x4[$i1+$i2+$i3])echo "<a href=\"".$dir."/".$x4[$i1+$i2+$i3]."\"><img border=0 width=30% src=\"".$thumb."/".$x4[$i1+$i2+$i3]."\"></a>";
else echo '&nbsp;';

echo '</td>'."\r\n";
}#end if($i3...

echo '</tr width="30%">'."\r\n";
}#end if($i1...

echo '</table>'."\r\n";
?>
 
Zurück