Tom: Windows, Linux, Filesystem, Dateinamen

Hello,

könnten bitte die PHP-Profis sich nochmals dieses Themas annehmen?
https://forum.selfhtml.org/?t=217033&m=1490508

Ich bin schon vollkommen kirre von der Frage, wann was wo in welcher Codierung vorliegt - tur Schreibzeit, zur Laufzeit, zur Unzeit - und wie ich richtig[tm] darauf zugreifen kann...

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bikers-lodge.com
  1. Hello,

    *Heul*
    Keiner kann mir helfen *schluchz*

    OK. Reicht zur Einstimmung.

    Vielleicht noch ein Nachtrag?

    http://forum.de.selfhtml.org/archiv/2008/12/t181256/#m1198708

    Bis heute wurden die Probleme nicht nachhaltig gelöst!
    Da kann es sich doch nur um eine Verschwörung von Außerirdischen handeln, oder?

    Babylon 2020!
    Entweder Ihr beweist jetzt mal, wie schlau Ihr seid, oder wir müssen alle zusammen einpacken.

    Und bitte immer daran denken: Themenbereich ist immer noch PHP!

    (Wenn der Themenbereich (Turbo-)Pascal hieße, hätte ich selber noch Hoffnung :-P.
    Aber auch bei C & Co. drehe ich mich jetzt schon im Kreise mit den ganzen includes, die keiner mehr versteht.)

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bikers-lodge.com
    1. Mahlzeit,

      Keiner kann mir helfen *schluchz*

      Also ich versteh das Problem nicht. Wenn du konsequent immer die gleiche Kodierung verwendest, tritt doch kein Problem auf, oder?

      --
      42
      1. Hello,

        Keiner kann mir helfen *schluchz*

        Also ich versteh das Problem nicht. Wenn du konsequent immer die gleiche Kodierung verwendest, tritt doch kein Problem auf, oder?

        Oh wär das schön!

        Aber es sind nicht alle Zeichen als Dateiname erlaubt.

        WinDOOFs als Host spielt da gar nicht mit.
        PHP spielt auch nicht mit
        Linux selber hat nur wenig Kummer.

        Aber machen muss man was vorher. Und das ist leider nicht trivial.

        Wenn es jetzt für alle Systeme (also hier erstmal "nur"  PHP auf Windows und PHP auf Linux, beides mit Apache) passen soll und auch kreuzweiser Austausch von Dateinamen möglich sein soll, dann ist der Leckstrom eben leider ständig über 30mA *g*.

        Auf gut Deutsch: da funktioniert nix mehr.

        Und wenn jetzt, wie im Falle von Hawkmaster, auch noch Dateinamen (Codierungen) aus der MAC-Welt hinzukommen, dann steigen die PHP-Scripte aus.

        Ich will jetzte nicht die gesamten Threads wiederholen, die damit schon zz tun hatten und auch nicht alles neu disktutieren, sondern "nur" eine Lösung finden, wie man mittels PHP-User-Funktion einen Dateinamen "kastrieren" kann, egal woher der gerade kommt.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bikers-lodge.com
        1. Ich will jetzte nicht die gesamten Threads wiederholen, die damit schon zz tun hatten und auch nicht alles neu disktutieren, sondern "nur" eine Lösung finden, wie man mittels PHP-User-Funktion einen Dateinamen "kastrieren" kann, egal woher der gerade kommt.

          md5($dateiname);

          ist da sehr hilfreich. Rest? Siehe dedlfix.

          Jörg Reinholz

          1. Moin Jörg,

            md5($dateiname);

            md5() ist aufgrund von bekannten und leicht auszurechnenden Kollisionen (ca. 40 Minuten mit aktueller Consumer-Hardware) prinzipiell nicht mehr zu verwenden.

            LG,
             CK

        2. Lieber Tom,

          auf mein Posting hast noch nicht einmal einen Kommentar abgegeben...

          Liebe Grüße,

          Felix Riesterer.

          --
          ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
          1. auf mein Posting hast noch nicht einmal einen Kommentar abgegeben...

            Eine eindrucksvolle Demonstration der Nachteile von Doppelpostings …

            Matthias

            --
            Der Unterschied zwischen Java und JavaScript ist größer als der zwischen phi und Phiole.

            1. Moin

              auf mein Posting hast noch nicht einmal einen Kommentar abgegeben...

              Eine eindrucksvolle Demonstration der Nachteile von Doppelpostings …

              Ich hatte mir nicht getraut auf das Doppelposting hinzuweisen. .. ;)

              Gruß Bobby

              --
              -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
              ### Henry L. Mencken ###
              -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
              ### Viktor Frankl ###
              ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
      2. Hallo,

        Also ich versteh das Problem nicht. Wenn du konsequent immer die gleiche Kodierung verwendest, tritt doch kein Problem auf, oder?

        doch, irgendwie schon. Denn sobald man ins Dateisystem geht und ihm Dateinamen übergeben will, wird's haarig. Denn man weiß nicht, welches Encoding das Dateisystem des Hosts verwendet. Sobald man also im Dateinamen Irgendwas hat, was über ASCII hinausgeht, begibt man sich auf dünnes Eis und riskiert Fehlinterpretationen, die zu unerwünschten Veränderungen der Dateinamen führen können.

        Und ich wüsste nicht, wie man dieses Problem allgemeingültig lösen oder wenigstens beherrschen könnte.

        Ciao,
         Martin

        --
        F: Was ist eigentlich aus deinem schlimmen Durchfall geworden?
        A: Mein Arzt hat mir Valium verschrieben.
        F: Und das hilft?
        A: Naja, ich mach mir immer noch in die Hose. Aber inzwischen ist es mir egal.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Tach!

          Und ich wüsste nicht, wie man dieses Problem allgemeingültig lösen oder wenigstens beherrschen könnte.

          Zufallsgenerierte eindeutige ASCII-Dateinamen und die wirklichen Namen in einer UTF-8-fähigen Datensenke dazu ablegen.

          dedlfix.

          1. Moin,

            Und ich wüsste nicht, wie man dieses Problem allgemeingültig lösen oder wenigstens beherrschen könnte.
            Zufallsgenerierte eindeutige ASCII-Dateinamen und die wirklichen Namen in einer UTF-8-fähigen Datensenke dazu ablegen.

            grundsätzlich ein guter Vorschlag. Er löst nur nicht das Problem, das hawkmaster im zugrundeliegenden Thread hat - nämlich dass man auch mit einer beliebigen anderen lokalen Anwendung (nicht PHP) auf die Dateien zugreifen und "richtige" Dateinamen sehen möchte.

            Ciao,
             Martin

            --
            Noch Fragen? - Ich weiß es auch nicht.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        2. hi,

          doch, irgendwie schon. Denn sobald man ins Dateisystem geht und ihm Dateinamen übergeben will, wird's haarig. Denn man weiß nicht, welches Encoding das Dateisystem des Hosts verwendet.

          Das weiß derjenige, der auf dem Host Scripts installiert und betreibt und der wird einen Pakt mit dem Teufel schließen, wenn er zulassen würde, dass Besucher seiner Anwendungen den Namen von Dateien, die ins Dateisystem geschrieben werden, selbst festlegen darf.

          Sobald man also im Dateinamen Irgendwas hat, was über ASCII hinausgeht, [..]

          Btw., Dateiname: .htaccess <--- ASCII

          Horst Mehlwurm

        3. Mahlzeit,

          Und ich wüsste nicht, wie man dieses Problem allgemeingültig lösen oder wenigstens beherrschen könnte.

          Da ich keinen Sinn darin sehe, einen Dateienamen aus was anderem als ASCII zusammenzusetzen, wird sich das Problem mir vermutlich nie stellen.
          Es stimmt, verschiedene Kodierungen sind problematisch, aber die Menge an gemeinsamen Zeichen ist IMO ausreichend zum Benennen von Dateien. Oder sehe ich das falsch?

          --
          42