Hans: hab zwei Files mit selben Namen im selben Ordner

Habe meine Webseite auf einen anderen Server umkopiert und die Rechte der Datenfiles richtig gesetzt. Wenn ich mit php nun ein solches File wie gewohnt ändere (zB "userdaten.txt") dann passiert gelegentlich ein seltsames Mysterium: Das alte (mit ftp angelegte) File wird nicht überschrieben sondern paralell dazu ein neues File mit dem selben Namen erzeugt. Manche Scripte greifen auf das alte, manche auf das neue zu. Html immer auf das alte, per ftp seh ich beide.
Dachte zuerst an einen Serverfehler, nur konnte ich beide Files mit ftp auf meinen Windowsrechner umkopieren und da können sie auch paralell im selben Ordner existieren mit identen filenamen und identer fileendung. Eines hat 4 Bytes mehr obwohl selber inhalt.
Kennt wer dieses Problem ?

  1. Hallo,

    Das alte (mit ftp angelegte) File wird nicht überschrieben sondern paralell dazu ein neues File mit dem selben Namen erzeugt. [...] per ftp seh ich beide.

    was verwendest du als FTP-Client? Etwa den Internet Explorer?

    Dachte zuerst an einen Serverfehler, nur konnte ich beide Files mit ftp auf meinen Windowsrechner umkopieren und da können sie auch paralell im selben Ordner existieren mit identen filenamen und identer fileendung.

    Das kann nicht sein. Vermutlich lässt du doch von Windows hinters Licht führen. Windows hat -zumindest in der Defaulteinstellung- die bescheuerte Angewohnheit, bei "bekannten" Dateitypen die Extension (also den Teil des Namens nach dem letzten Punkt) nicht anzuzeigen. Das kann dazu führen, dass zwei Dateien mit unterschiedlichem Namen dennoch gleich angezeigt werden.

    Kontrolliere das mal.

    So long,
     Martin

    --
    Ein guter Lehrer muss seinen Schülern beibringen können,
    eine Frage so zu stellen, dass auch der Lehrer lernen muss,
    um die Frage beantworten zu können.
      (Hesiod, griech. Philosoph, um 700 v.Chr.)
    1. Habs mit Dreamweaver umkopiert.

      Bei Windows hab ich "endungen von bekannten dateitypen" natürlich ausgeschaltet. daran liegts nicht. hab 2 gleichlautende testfiles per skype zu einem freund geschickt und der konnte sie auch paralell "halten".

      Eigentlich dürfts das nicht geben denk ich. vieleicht hab ich irgendwelche linux-berechtigungen oder eigentümerrechte mitkopiert beim umkopieren, keine ahnung.

      1. hallo,

        Bei Windows hab ich "endungen von bekannten dateitypen" natürlich ausgeschaltet.

        Das ist mißverständlich. Der Eintrag lautet "Erweiterungen bei bekannten Dateitypen ausblenden" - und den solltest du unbedingt deaktivieren - er ist per default aktiviert.

        hab 2 gleichlautende testfiles per skype zu einem freund geschickt

        Dreamweaver, Skype ... das sind "Wackelkandidaten" für dein Problem. Es ist völlig unmöglich, daß zwei Dateien tatsächlich mit exakt demselben Dateinamen in einem Verzeichnis existieren können. Du solltest auch Groß- und Kleinschreibung überprüfen.

        Eigentlich dürfts das nicht geben denk ich.

        Da denkst du richtig, das gibt es auch nicht. Irgendwo _muß_ bei deinen Dateinamen ein Unterschied bestehen.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. Hi,

          Es ist völlig unmöglich, daß zwei Dateien tatsächlich mit exakt demselben Dateinamen in einem Verzeichnis existieren können.

          Das wuerde ich bestreiten wollen.

          Irgendwo hinterlegt das Dateisystem die Info, "Datei mit Namen XY beginnt mit Block/Cluster 4711" - und das war's im Grossen und Ganzen auch schon.

          Mit einem Editor, der dir das Bearbeiten von Daten auf der Platte auf Byte-Ebene erlaubt, ist es ein leichtes, bei einem folgenden Eintrag, "Datei mit Namen AB beginnt mit Block/Cluster 4712", aus dem AB ebenfalls ein XY zu machen.

          Klar, darueber liegende Kontrollschichten sollten normalerweise verhindern, dass sowas versehentlich geschieht (und auch, es absichtlich herbeizufuehren, ist natuerlich keine besonders gute Idee).
          Diese Kontrollmechanismen *koennten* durchaus mal versagen, wenn das Dateisystem fehlerhaft implementiert wurde.

          Im vorliegenden Falle habe ich allerdings auch so meine Zweifel - selbst wenn auf dem Server irgendwas "verbockt" wurde, spaetestens beim Kopieren per FTP sollte das "neue" Gastsystem den Fehler abfangen - durch Ueberschreiben der bestehenden Datei mit dem gleichen Namen, vorheriges Nachfragen, o.ae.

          Da sollte der OP also noch mal gruendlich, *wirklich* *gruendlich*, pruefen, ob die Dateinamen tatsaechlich *identisch* sind - oder nur auf einen oberflaechlichen Blick "so aussehen" ...

          MfG ChrisB

          --
          "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."
          1. hi,

            Es ist völlig unmöglich, daß zwei Dateien tatsächlich mit exakt demselben Dateinamen in einem Verzeichnis existieren können.
            Das wuerde ich bestreiten wollen.

            Na gut, "Namen" sind Schall und Rauch. Möglicherweise auf einer unix-artigen Maschine, da die nicht nur die "Namen", sondern auch den "Typ" berücksichtigt, wie du wortreich ausführst.

            Irgendwo hinterlegt das Dateisystem die Info, "Datei mit Namen XY beginnt mit Block/Cluster 4711" - und das war's im Grossen und Ganzen auch schon.

            Nach allen meinen bisherigen Erfahrungen _kann_ sowas mal auf einer Linux-Maschine vorkommen, ja. Aber niemals auf einem Windows-Rechner. Und nun schau dir an, was im Thread bereits ausgesagt wurde: das "Phänomen" tritt unter Windows auf. Und _das_ ist so ziemlich vollkommen unmöglich.

            Es wäre noch möglich, daß das PHP-Script, das der OP im Ausgangsposting nennt, die Datei irgendwoanders ablegt und sie nur ins aktuelle Verzeichnis verlinkt. Wenig wahrscheinlich, aber immerhin nicht ganz unmöglich.

            Im vorliegenden Falle habe ich allerdings auch so meine Zweifel

            Dann pflege sie bitte ;-)

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
            1. Screenshot:

              http://ketamin.org/bilder2/34821.jpg

              Das File Freekazoid.name

              Habe beide Files bereits auf 2 Windowsrechner sowie einem Macintosh per Email oder Skype verschickt und ist immer dasselbe: 4 Bytes Längenunterschied, selbe Filenamen im selben Verzeichnis.

              Meine Homepage rennt deshalb nicht gscheit weil das Php-script nicht weiss welches der beiden es vorgesetzt bekommt bei fopen.

              grüsse

              ps: kann Ungläubigen auch gern per email beide Files schicken.

              1. hallo Hans,

                Screenshot:
                http://ketamin.org/bilder2/34821.jpg
                Das File Freekazoid.name

                Ja, na und? Das gibts auf deinem Screenshot nur _einmal_. Was dir als Verdopplung erscheint, trägt einen anderen Namen, nämlich "Freekaziod.name" - du siehst, die beiden Buchstaben i und o sind im Namen deiner Datei vertauscht. Damit sind es zwei vollkommen unterschiedliche Namen, und _das_ ist ja nun überhaupt kein Problem. Du hast also nicht zwei Dateien mit demselben Namen, sondern zwei Dateien mit unterschiedlichen Namen, aber vermutlich demselben Inhalt.

                Meine Homepage rennt deshalb nicht gscheit weil das Php-script nicht weiss welches der beiden es vorgesetzt bekommt bei fopen.

                Dann schreibe dein PHP-Script "gescheit" um und sage ihm vor allem, daß es auf Schreibfehler, die _du_ begehst, keine Rücksicht nehmen soll ;-)

                Grüße aus Berlin

                Christoph S.

                --
                Visitenkarte
                ss:| zu:) ls:& fo:) va:) sh:| rl:|
                1. ups. bin a grad draufkommen.

                  1. hallo hans,

                    ups. bin a grad draufkommen.

                    Ins Hochdeutsche übersetzt bedeutet das vermutlich, das hast du eben gerade auch bemerkt - nachdem du mehr als vier Stunden lang das Forum mit deiner Nachfrage beschäftigt hast. Es haben ja nicht nur die Leute, die dir geantwortet haben, deinen Beitrag gelesen, sondern mit Sicherheit ein paar Dutzend mehr ...

                    Kurz: deine Nachfrage beruhte auf einem einfachen Lesefehler. Du konntest aus "Betriebsblindheit" nicht sehen, daß du gar keine zwei Dateien mit _gleichem_ Namen hast, sondern daß die Namen durchaus _unterschiedlich_ sind und sich dein Script also vermutlich völlig korrekt verhalten hat. Es ist allerdings nicht verständlich, daß deine Kumpels, denen du die Dateien ja auch "per Skype" geschickt hast, diese unterschiedlichen Namen nicht haben bemerken können. Du solltest dich dringend nach etwas kompetenteren Kumpels umsehen ;-)

                    Es ist immer wieder ein Phänomen, daß man zur Klärung eines solchen Sachverhalts (ups ... "Klärung eines Sachverhalts" ist nun aber wirklich finsterste Stasi-Terminologie, das habe ich zur Genüge erlebt), einen ganzen Thread braucht mit mindestens zwei _sehr_ kompetenten Antwortern, die auch nur rätseln können. Es wäre alles gut gegangen, wenn du deinem OP gleich deinen Screenshot beigefügt hättest.

                    Aber vielleicht lernen künftige Gelgenheitsfragensteller aus diesem Thread, was _unverzichtbar_ zu den Bestandteilen einer Anfrage gehört.

                    Grüße aus Berlin

                    Christoph S.

                    --
                    Visitenkarte
                    ss:| zu:) ls:& fo:) va:) sh:| rl:|
                    1. Hi Christoph!

                      Aber vielleicht lernen künftige Gelgenheitsfragensteller aus diesem Thread, was _unverzichtbar_ zu den Bestandteilen einer Anfrage gehört.

                      Eine Kaffeepause und danach noch einmal einen Blick auf das Problem werfen?

                      Um die Uhrzeit des Ausgangsposting tut´s sicher auch eine Holunderwein-, Zigaretten-, Whiskey-, Hanf- oder (Bei)Schlafpause. ;-)

                      MfG H☼psel

                      --
                      "It's amazing I won. I was running against peace, prosperity, and incumbency."
                      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
                      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
            2. Hello,

              Nach allen meinen bisherigen Erfahrungen _kann_ sowas mal auf einer Linux-Maschine vorkommen, ja. Aber niemals auf einem Windows-Rechner.

              *ätsch* reingefallen :-)
              siehe https://forum.selfhtml.org/?t=172173&m=1127984

              Ein harzliches Glückauf

              Tom vom Berg

              --
              Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
    2. Hello,

      Das kann nicht sein. Vermutlich lässt du doch von Windows hinters Licht führen. Windows hat -zumindest in der Defaulteinstellung- die bescheuerte Angewohnheit, bei "bekannten" Dateitypen die Extension (also den Teil des Namens nach dem letzten Punkt) nicht anzuzeigen. Das kann dazu führen, dass zwei Dateien mit unterschiedlichem Namen dennoch gleich angezeigt werden.

      Und dann wäre dann noch die Einstellung mit den Versalien...
      Abgespeichert wird der Name im Filessystem so, wie man ihn übergibt, angezeigt wird er aber "gehübscht" (erster Buchstabe groß), wenn man diese eklige Funktion nicht ausschaltet.

      Ein harzliches Glückauf

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hi,

        Windows hat -zumindest in der Defaulteinstellung- die bescheuerte Angewohnheit, bei "bekannten" Dateitypen die Extension (also den Teil des Namens nach dem letzten Punkt) nicht anzuzeigen. Das kann dazu führen, dass zwei Dateien mit unterschiedlichem Namen dennoch gleich angezeigt werden.

        Und dann wäre dann noch die Einstellung mit den Versalien...
        Abgespeichert wird der Name im Filessystem so, wie man ihn übergibt, angezeigt wird er aber "gehübscht" (erster Buchstabe groß), wenn man diese eklige Funktion nicht ausschaltet.

        diese Verstümmelung der Groß/Kleinschreibung macht Windows eigentlich nur dann, wenn der Dateiname den alten DOS-Regeln für Dateinamen entspricht (maximal 8.3 Zeichen, nur Buchstaben und Ziffern, sowie ganz wenige Sonderzeichen). Dateinamen, die unter DOS nicht erlaubt wären, lässt Windows komplett in Ruhe.

        Das hat aber mit dem beschriebenen Problem von Hans nichts zu tun, denn Windows ist bei Dateinamen bekanntlich case insensitive. Das heißt, der Name wird im Verzeichnis zwar exakt so gespeichert wie eingegeben, die Groß- und Kleinschreibung bleibt genau erhalten (case preserving). Aber der Vergleich, mit dem Dateinamen im Verzeichnis gesucht werden, erfolgt case insensitive.

        Folge: Wenn in einem Verzeichnis bereits eine "TEXTdatei.txt" existiert, und ich versuche noch eine "textdatei.TXT" zu speichern, wird die erste Datei ersetzt, weil Windows die Namen als identisch betrachtet. Für Linux wären das zwei unterschiedliche Dateinamen.

        Ciao,
         Martin

        --
        F: Was ist wichtiger: Die Sonne oder der Mond?
        A: Der Mond. Denn er scheint nachts. Die Sonne dagegen scheint tagsüber, wenn es sowieso hell ist.
  2. Hi,

    Dachte zuerst an einen Serverfehler, nur konnte ich beide Files mit ftp auf meinen Windowsrechner umkopieren und da können sie auch paralell im selben Ordner existieren mit identen filenamen und identer fileendung.

    dann ist zu vermuten, dass die Namen doch nicht identisch sind. Befinden sich eventuell Steuerzeichen im Namen?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hello,

      Dachte zuerst an einen Serverfehler, nur konnte ich beide Files mit ftp auf meinen Windowsrechner umkopieren und da können sie auch paralell im selben Ordner existieren mit identen filenamen und identer fileendung.

      dann ist zu vermuten, dass die Namen doch nicht identisch sind. Befinden sich eventuell Steuerzeichen im Namen?

      Auf einer DOSe kann man sehr wohl zwei Files mit demselben Namen innerhalb eines Verzeichnisses anlegen, wenn man anstelle der Handle-Funktionen die FCB-Funktionen verwendet. Bei der Verwendung der FCB-Funktionen obliegt es dem Programmierer, vorher zu prüfen, ob der Name noch frei ist und diese beiden (prüfen und anlegen) dann atomar zu binden mittels eines CLI (Clear Interrupt Enable).

      Das funktioniert auch bei Windows noch, was im übrigen die FCB-Funktionen immer noch verwendet für das Umbenennen von Verzeichnissen.

      Da der OP nichts über das OS und das Filesystem gesagt hat, halte ich das Phännomen noicht für unmöglich.

      Ein harzliches Glückauf

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
    2. Oder vielleicht unterscheidet sich die Groß-/Kleinschreibung?

      Gruß, LX