rucksackpeggy: Existenz einer Datei prüfen

Hallo Forumer,

ist mir fast peinlich zu fragen, aber ich konnte trotz Recherche und Suche nicht ausmachen, wie man mittels Javascript die Existenz einer Datei überprüft.

Es geht um folgendes Problem:

Ich habe ein Script, welches in einem Frame bestimmte Dateien öffnet. Allerdings kommt es vor, dass die entsprechende Datei (in Frame inhalt) nicht geliefert wird und somit eine Blankoseite (blank.html) angezeigt werden soll. Wie frage ich ab, ob covernr.ppt vorhanden ist und veranlasse die jeweils korrekte Anzeige? Vielleicht läuft's ja auch über ein Error-Handling, aber wie geht das?

Ich habe folgendes probiert, kriege aber immer blank.html angezeigt...

___________Auszug aus Script________________________________

if (pfad + cover + news[news.length - 1] + ".ppt" == true) {
 self.inhalt.location.href = pfad + cover + news[news.length - 1] + ".ppt";
 }
else {
 self.inhalt.location.href = "blank.html";
 }
____________Ende_____________________________________________

Vielen Dank schon mal im Voraus,

Gruß rucksackpeggy

  1. Hi!

    Muss es denn unbedingt JS sein? Wie wäre es mit PHP? Rufe einfach immer ne PHP-Datei mit nem Parameter (zB anzeige.php?file=covernr.ppt) auf. Dieses PHP-Skript macht dann einfach nichts weiter als

    if (file_exists($file)) {
      include($file);
    } else {
      include("blank.html");
    }

    Grüße

    Flo

    1. Hi,

      das ist aber bitte nur ein Beispiel. Es kann eine ziemliche Sicherheitsluecke sein, wenn man einfach eine Datei mit include einbindet, die ungecheckt von der URL uebernommen wurde....

      if (file_exists($file)) {
        include($file);
      } else {
        include("blank.html");
      }

      Stefan

    2. Hi Flo,

      Muss es denn unbedingt JS sein? Wie wäre es mit PHP?

      Leider bin ich als Intranet-Webmaster an bestimmte Restriktionen gebunden. Eine Javascript-Lösung wäre demnach schon vonnöten... (die PHP-Lösung war mir bei der Archivsuche auch schon untergekommen)

      Gruß
      rucksackpeggy

      1. Hallo,

        mit js ist sowas aber nicht möglich...

        Odium

        1. HaliHalo;

          mit js ist sowas aber nicht möglich...

          Da ich mich damit noch nicht so gut auskenne, hast Du sicherlich recht. Aber zu mir hat mal jemand in meiner Ausbildung als Augenoptikerin gesagt: "Geht nicht gibts nicht, alles wird irgendwie möglich gemacht !"

          Manuela

          1. Hi,

            mit js ist sowas aber nicht möglich...

            Da ich mich damit noch nicht so gut auskenne, hast Du sicherlich recht. Aber zu mir hat mal jemand in meiner Ausbildung als Augenoptikerin gesagt: "Geht nicht gibts nicht, alles wird irgendwie möglich gemacht !"

            Was ist denn das für ein dummer Spruch? Bei JS heißt geht nicht,
            wirklich geht nicht!

            Wenn mit JS alles irgendwie möglich wäre, gute Nacht liebe Sicherheit im Netz.

            Dieses rumgefummel mit location.href usw. finde ich sowieso nicht ideal, was wenn ein Browser kein JS aktiviert hat?

            Gruß

            ueps

          2. HaliHalo;

            Hallo,

            mit js ist dies wirklich nicht möglich... Eventuell kann der Internetexplorer (von den Bugs mal abgesehen) mit speziellem MS-JS Code da was anstellen, aber vorgesehen ist es nicht...
            das wär schon eingealtige sicherheitsloch...

            aus einer website per js-dateien öffnen --> inhalte in hiddenfields etc. speichern --> automatisch ein form abschicken...

            Augenoptikerin bist du auch noch?
            Ich nicht, aber ich geh da machnmal hin 8-)

            Odium

            1. Hallo,

              mit js ist dies wirklich nicht möglich... Eventuell kann der Internetexplorer (von den Bugs mal abgesehen) mit speziellem MS-JS Code da was anstellen, aber vorgesehen ist es nicht...
              das wär schon eingealtige sicherheitsloch...

              Ich glaubs Dir doch auch, das das nicht möglich ist.

              Augenoptikerin bist du auch noch?

              Ja, ich hab nach dem Abi erst ne Lehre gemacht zur Augenoptikerin, ein Jahr da auch gearbeitet und dann mit dem Studium angefangen

              Ich nicht, aber ich geh da machnmal hin 8-)

              Hoffentlich kommt jetzt nicht gleich blöde Frage, aber warum gehst Du da hin ??

              Manuela

              1. Hi,

                Ja, ich hab nach dem Abi erst ne Lehre gemacht zur Augenoptikerin, ein Jahr da auch gearbeitet und dann mit dem Studium angefangen

                Ich nicht, aber ich geh da machnmal hin 8-)

                Hoffentlich kommt jetzt nicht gleich blöde Frage, aber warum gehst Du da hin ??

                Vielleicht weil er eine Brille trägt ;-)

                Gruß

                ueps

                1. Hoffentlich kommt jetzt nicht gleich blöde Frage, aber warum gehst Du da hin ??

                  Vielleicht weil er eine Brille trägt ;-)

                  Kannst Du mir noch mehr von ihm erzählen ??

                  Manuela

                  1. Kannst Du mir noch mehr von ihm erzählen ??

                    das glaube ich nicht...

                    1. Kannst Du mir noch mehr von ihm erzählen ??

                      das glaube ich nicht...

                      Warum nicht ??

                      Manuela

                      1. Kannst Du mir noch mehr von ihm erzählen ??

                        das glaube ich nicht...

                        Warum nicht ??

                        er kennt mich nicht...
                        ich könnte es...

                        Odium

                        1. Kannst Du mir noch mehr von ihm erzählen ??

                          das glaube ich nicht...

                          Warum nicht ??

                          er kennt mich nicht...
                          ich könnte es...

                          Dann mach das doch mal !!

                          Manuela

                          1. Dann mach das doch mal !!

                            noch mehr als in meiner Mail von gestern??

                            aber nur wenn du auch noch etwas von dir erzählst...

                            weiter unten hab ich ja über deine Kenntnisse über Motoren etc. gelesen...auch noch in einer Werkstatt gearbeitet?
                            du scheinst ja ein richtiges Multitalent zu sein...

                            André

                            1. Dann mach das doch mal !!

                              noch mehr als in meiner Mail von gestern??

                              Sorry, ich hab Deine Mail noch nicht lesen können. Nachdem ich Dir geschrieben hatte, hab ich meinen Rechner zu Hause ausgemacht und auf Arbeit darf ich auf Web nich und heute Abend kann ich sie leider auch noch nicht lesen, weil ich bei meiner Mutter übernachte und die hat keinen Rechner.
                              Also werd ich mir morgen doch mal die Weiterleitung der Mails zu mir auf Arbeit einrichten.

                              aber nur wenn du auch noch etwas von dir erzählst...

                              weiter unten hab ich ja über deine Kenntnisse über Motoren etc. gelesen...auch noch in einer Werkstatt gearbeitet?
                              du scheinst ja ein richtiges Multitalent zu sein...

                              Naja ich wollte mal Kfz - Mechanikerin werden, war eine Woche zum Probearbeiten und hatte eigentlich den Job sicher. Der Chef hatte mir sogar vorgeschlagen gleich Betriebswirt im Kfz - Gewerbe zu lernen, weil die so jemanden gebraucht hätten. Ich hätte es gern gemacht, aber 2 Monate befor es los ging kam die Absage. Später haben wir rausbekommen, das das Arbeitsamt diesen Sonderausbildungsgang für die Firma nicht übernommen hat, weil die Firma gerade neu gebaut hatte und noch schulden.
                              Naja und dann noch was finden was einem Spass macht, war garnicht so leicht, das das noch mit dem optiker geklappt hat, war grosses Glück.
                              Dem Optiker hatte nämlich der neue Lerling abgesagt, so das die noch jemanden gesucht haben und deswegen hab ich dann erstmal das gemacht.

                              Manuela

                              1. Hallo,

                                vielleicht sollten wir die privateren Sachen nicht im Forum machen...
                                wer weiß wer das alles mitliest?

                                jetzt, wo du so viel geschrieben hast, muss ich ja meine sachen auch noch etwas aufstocken...

                                ich werd heut abend mal was abschicken... (auf arbeit darf ich auch keine privaten mails verschicken, foren gehören natürlich zur weiterbildung)

                                ich warte dann, bis du wieder an deine rechner kannst...

                                Odium

                      2. Kannst Du mir noch mehr von ihm erzählen ??

                        Warum? Neugierig?

                        das glaube ich nicht...

                        Warum nicht ??

                        Weil ich ihn nicht kenne.

                        Gruß

                        ueps

  2. Hallo.

    Da gibts einen Befehl in JS der startDownload() heisst.
    Mit ihm kann man den Inhalt einer Datei (z.B. einer Textdatei) in ein Textfeld (textarea) schreiben lassen.
    Mit dem Befehl müsste man doch auch prüfen können, ob diese Datei auch vorhanden ist ...

    Eine Anleitung zum Behavior-Befehl findest du bei der Micro$oft MSDN-Library:
    http://msdn.microsoft.com/workshop/author/behaviors/reference/behaviors/download.asp

    Das einzige Problem ist nur, dass dieser Befehl nur beim M$-IE únd nicht beim Netscape funktioniert ...

    Ich hoffe, ich konnte dir helfen.
    MM

  3. Halihallo

    ist mir fast peinlich zu fragen, aber ich konnte trotz Recherche und Suche nicht ausmachen, wie man mittels Javascript die Existenz einer Datei überprüft.

    Öm. Normalerweise geht das auch nicht. Und Normalerweise sage ich deshalb, weil mir hier trotzdem etwas in den Sinn kommt:

    Das image-Object von JS enthält einen bestimmten Event (weiss nimmer, wie der heisst), mitdem man überprüfen kann, ob die Graphik geladen wurde, oder nicht. Jetzt kannst du mal versuchen diesen Event im INet herauszufinden und dann einfach ein image mit der .ppt Datei anlegen (hoffentlich merkt er nicht, dass es gar kein Bild ist); wenn der Event sagt, dass die "Graphik" geladen wurde, muss folglich auch die Datei existieren.

    Naja, ich glaube ich bewege mich (und du auch, wenn du das verwendest) hier auf dünnem Eis. Der Event ist natürlich nicht für das "gedacht", aber vielleicht lässt er sich etwas zweckentfremden... Lasse mich jedoch gerne belehren, dass dies nicht möglich ist, interessiert mich selber auch etwas (dass ich den selben Vorschlag nicht noch einmal bringe).

    Viele Grüsse

    Philipp