Tom: Bug? Aber ein mächtiger! Oder wir sind beide bloed (ohne ö)

Beitrag lesen

Hello,

da hast Du mir ja jetzt schön 'was eingebrockt :-)

Ich habe selber mal angefangen zu testen und bin sofort auf zwei Hämmer (mit 'ä') gelaufen:

Rahmenbedingungen:

XAMPP Version: 1.8.2
Windows XP SP3 32-bit
(Windows NT PC48 5.1 build 2600 (Windows XP Professional Service Pack 3) i586)
Dateisystem NTFS
PHP-Version 5.4.22

Apache ist eingestellt auf ISO-8859-1

Wenn ich mit einem Upload-Formular einen Dateinamen im <input type="text"> zum Server sende und dann mit diesem Namen mittels touch() eine Datei erzeuge, wird die Im Datei-Explorer auch angezeigt, egal, ob sie Umlaute und Sonderzeichen enthält, oder nicht.

Fall 1: Ich habe keine Dateien mit Sonderzeichen erzeugen lassen:
Mittels glob() kann ich mir die Dateinamen im Verzeichnis auslesen lassen

Fall 2: Ich habe _eine_ Datei mit Sonderzeichen erzeugen lassen:
Glob() schien dann vollkommen zu streiken.

Näher nachgeforscht, steckt der Fehler noch ganz woanders:

  
  
$_filelist = glob("*.txt");  
$filenames_html = htmlspecialchars(print_r($_filelist, 1));  
  

spätere Ausgabe in

  
  
<div><pre><?php echo $filenames_html; ?></pre></div>  

liefert nix mehr.

  
  
$_filelist = glob("*.txt");  
  
$filenames_html = '';  
foreach ($_filelist as $key => $value)  
{  
	$filenames_html .= htmlspecialchars("[$key] => $value\r\n");  
}  

in der zweiten Variante werden zumindest noch

  
  
[2] => Gute_Datei.txt  
[3] => Hallo.txt  
  

angezeigt.

Wenn ich stattdessen

  
  
<div> <pre><?php var_dump(glob('*.txt')); ?></pre></div>  

benutze, kommt als Ergebnis im _selben_Durchlauf_

  
  
array(4) {  
  [0]=>  
  string(14) "Böse_Datei.txt"  
  [1]=>  
  string(20) "Böse_Datei_mit_ß.txt"  
  [2]=>  
  string(14) "Gute_Datei.txt"  
  [3]=>  
  string(9) "Hallo.txt"  
}  
  

wenn ich die "bösen Dateien" wieder aus dem Verzeichnis lösche, funktionieren alle drei Varianten mit gleichem Ergebnis!

Da ist also augenscheinlich ganz mächtig 'was kaputt in PHP. Das zu ergründen, übersteigt aber meine Fähigkeiten und meine Lust dazu.

Ich wäre nur daran interessiert, dass jemand Berufenes das nochmal nachvollzieht und dann einen Bugreport daraus erstellt.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bikers-lodge.com
0 92

Zeichensatzproblem

hawkmaster
  • sonstiges
  1. 0
    Auge
    1. 0
      hawkmaster
      1. 0
        Auge
        1. 0
          hawkmaster
          1. 0
            Matthias Apsel
            1. 0
              hawkmaster
          2. 0
            Der Martin
            1. 0
              hawkmaster
              1. 0

                Bug?

                hawkmaster
                1. 0
                  Der Martin
                  1. 0
                    hawkmaster
                    1. 0
                      Der Martin
                      1. 0
                        hawkmaster
                        1. 0
                          Tom
                          1. 0
                            hawkmaster
                          2. 0
                            Der Martin
                            1. 0

                              Normalisierung,

                              hawkmaster
                          3. 0

                            Bug? Aber ein mächtiger! Oder wir sind beide bloed (ohne ö)

                            Tom
                            1. 0
                              Tom
                            2. 0

                              Das wird ja immer irrer!

                              Tom
                              1. 0
                                hawkmaster
                                1. 0
                                  Auge
                                  • meinung
                                  1. 0
                                    Tom
                                  2. 0
                                    hawkmaster
                                    1. 0
                                      Auge
                                2. 0
                                  Tom
                                  1. 0
                                    Der Martin
                                    1. 0

                                      Windows Zeichentabelle

                                      Tom
                                      1. 0
                                        Der Martin
                                        1. 0
                                          Tom
                                          1. 0
                                            Der Martin
                                            1. 0
                                              Tom
                                              1. 0
                                                Der Martin
                                              2. 0
                                                Tom
                                                1. 0
                                                  Der Martin
                                                  1. 0
                                                    Tom
                              2. 0
                                hawkmaster
                                1. 0
                                  Der Martin
                                  1. 0
                                    hawkmaster
                                    1. 0
                                      Tom
                                      1. 0
                                        hawkmaster
                                        1. 0
                                          hawkmaster
                                          1. 0
                                            Auge
                                            1. 0
                                              hawkmaster
                                              1. 0
                                                Auge
                                                1. 0
                                                  hawkmaster
                                                2. 0
                                                  Tom
                                                  1. 0

                                                    Filenames für Windows oder Linux(?) kastrieren!

                                                    Tom
                                                    • php
                                                    1. 0

                                                      HILFE! Filenames für Windows oder Linux(?) kastrieren!

                                                      Tom
                                                      1. 0
                                                        Felix Riesterer
                                                        1. 0

                                                          Klasse für utf-8 Umwandlungen und utf-8 Erkennung

                                                          Tom
                                                          1. 0

                                                            Archivierung von Threads

                                                            Matthias Apsel
                                                            • zu diesem forum
                                                        2. 0
                                                          hawkmaster
                                                          1. 2
                                                            Christian Kruse
                                                            1. 0
                                                              Tom
                                                            2. 0
                                                              hawkmaster
                                                              1. 0
                                                                Christian Kruse
                                                                1. 0

                                                                  Die Lösung

                                                                  hawkmaster
                                                                  1. 0

                                                                    Extension

                                                                    hawkmaster
                                                                    1. 0
                                                                      Tom
                                                                      1. 0
                                                                        Tom
                                                                        1. 0

                                                                          Bitte @ Gunnar: Abbildungstypen im Normalizer erläutern

                                                                          Tom
                                                                          • programmiertechnik
                                                                          1. 0
                                                                            Gunnar Bittersmann
                                                                            1. 0
                                                                              Tom
                                                                  2. 0
                                                                    Tom
                                                                  3. 0

                                                                    Die Lösung, noch nicht ganz!

                                                                    Tom
                                                        3. 0
                                                          Gunnar Bittersmann
                                                      2. 0
                                                        hotti
                                                  2. 0
                                                    hawkmaster
                                                    1. 0
                                                      Der Martin
                                                      1. 0

                                                        genaus so

                                                        hawkmaster
                                              2. 0
                                                Tom
                                                1. 0

                                                  versehentlich geschlossener Tab

                                                  Matthias Apsel
                                          2. 0
                                            Tom
                                          3. 3
                                            Christian Kruse
    2. 0
      hawkmaster
      1. 0
        Auge
        1. 0
          hawkmaster
  2. 0
    Matthias Apsel
    1. 0
      Matthias Apsel
      1. 0
        hawkmaster
    2. 0
      hawkmaster
  3. 0
    Gunnar Bittersmann
    1. 0
      Tom
      1. 0
        Gunnar Bittersmann
    2. 0
      hawkmaster
      1. 0
        Auge
      2. 0
        Christian Kruse
  4. 0
    Tom
    1. 0
      hawkmaster
  5. 0
    Jörg Reinholz