dedlfix: Sonderzeichen im Datei-Namen von GrafikenH

Beitrag lesen

Hi!

Die Aufschrift lautet: "A:L 4" zur Umwandlung in einen nutzbaren Dateinamen nutze ich $text = urlencode($text);
Das funktioniert auch sehr gut. Hier ist der Dateiname dann A%3AL+4.png.

Du hast hier eine URL-Kodierung für den Kontext Dateisystem "missbraucht". Das ist erstmal noch kein Problem.

Nun will ich die Datei wie folgt anzeigen:

$text = urlencode($text);

echo "<img width='175' height='37' src='pics/$text.png' alt='[$text]'/>";

  
Hier verwendest du den URL-kodierten Wert für die URL in src aber auch als normalen Text in alt. In alt ist das verkehrt, das ist kein URL-Kontext.  
  

> Das Bild wird jetzt aber nicht angezeigt. Nach mehrerem Experimentieren fiel es mir wie Schuppen von den Augen, dass die vorher kodierten Zeichen automatisch umgewandelt werden.  
  
Genau, aber "automatisch" ist wie "dynamisch" kein "zulässiges" Wort im Zusammenhang mit Programmieren, denn irgendwer muss die Funktionalität ja implementiert haben. Es passiert alles nur auf konkrete Anweisung hin und nicht "irgendwie von selbst". Du meinst in dem Fall, dass der Webserver den URL-Kontext liest und die dort kodierten Zeichen vor dem Weiterverarbeiten dekodiert. Damit geht deine URL-Kodierung verloren, die du eigentlich für das Dateisystem nutzen wolltest.  
  
Base64- oder doppelte URL-Kodierung wären auch meine Vorschläge gewesen.  
  
  
Lo!