Hilfe beim Script....Probs mit IE

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe beim Script....Probs mit IE

    Bin ziemlich verzweifelt habe ein nettes Script zum Hoch- bzw Runterladen von Dokumenten (Ohne Datenbankanbindung),
    im Netscape funktioniert das auch alles schön aber im IE funktioniert das runterladen nicht anstatt mir einen Speicherdialog zu öffnen zeigt er mir den Inhalt der Datei an. Ich finde keinen Fehler wäre schön wenn mir jemand helfen könnte.
    Wäre auch schön wenn mir jemand sagen könnte wie ich in den Souce noch einen Löschendialog reinkriege, bei dem es so abläuft wie beim Speichern, sprich mit Button...


    Hier der Sourcecode:

    Saveto.php:

    <?php

    //*****************Datei speichern****************************
    //Vorgebenes Dateiverzeichnis zum Speichern öffnen
    $basedir = "C:\\Programme\\Apache\\htdocs\\";
    $filename = $basedir.$file;
    //Header zur Definition der Dateiart
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: inline;filename=\"".$filename."\"");
    header("Pragma: no-cache");
    header("Expires: 0");
    readfile($filename);
    ?>

    docman.php:

    <?php
    //*****************Datei runterladen************************
    //Öffnen des vorgegebenen Verzeichnisses
    $Verzeichnis = opendir("C:\\Programme\\Apache\\htdocs");
    print '<table border="0">';
    //Auslesen des Verzeichnisses
    while ($Dateiname = readdir($Verzeichnis)) {
    //Anzeigen der vorgegebenen Datei-Arten
    if(eregi("(jpg|gif|txt|htm|html|php|php3|zip|js)$",$Dateiname))
    {
    //Anzeigen des Speicherbuttons auslösen des Speicherdialoges bei Klick
    echo '<tr><td><a href=/'.$Dateiname.'>'.$Dateiname.'</a></td><td>
    <form action="saveto.php" method="POST"><input type="hidden" name="file" value="'.$Dateiname.'"><input type="submit" value="Speichern"></form></td></tr>';
    } }
    //Schliessen des Verzeichnisses
    closedir($Verzeichnis);
    print '</table>';
    //*****************Datei hochladen**************************
    if($was=="doit") {
    $size = $bild_size; // Größe der Datei
    $name = $bild_name; // Der Originalname
    $type = $bild_type; // Der MIME Type der Datei
    //Hochlademöglichkeit von vorgegebenen Dateiarten
    if (eregi("(jpg|gif|txt|htm|html|php3|php|doc|xls|ppt|js)$",$name)) {
    //Abfangen von Fehlern Datei nicht größer als 1000 und nicht gleich 0
    if($size<10000 AND $size!=0) {
    copy($bild,$name); // Kopiert das Bild
    //Bestätigungsmeldung mit Dateiangaben
    echo "Die Datei erfolgreich hochgeladen.<br>";
    echo "Größe: ".$size." Byte<br>";
    echo "Name: ".$name."<br>";
    echo "MIME-Type: ".$type."<br>";
    echo "Ansehen: <a href='".$name."'>".$name."</a>";
    } else {
    //Fehlermeldungen
    echo "Ihre Datei ist über 9,5 KB oder gleich 0";
    }
    } else {
    echo "Falsche Erweiterung: ".$name;
    }
    } else {
    echo "<form action='".$PHP_SELF."' enctype=\"multipart/form-data\" method='post'>";
    echo "<input type='hidden' name='was' value='doit'>";
    echo "<table>";
    echo "<tr>";
    echo "<td>Datei</td>";
    echo "<td><input type='file' name='bild'></td>";
    echo "</tr><tr>";
    echo "<td> </td>";
    echo "<td><input type='submit' value='Hochladen'></td>";
    echo "</tr>";
    echo "</form></table>";
    }
    ?>

    im Voraus Danke


    Verena

  • #2
    Das Problem ist ein Feature des IE ... der öffnet nämlich alle im Explorer bekannten Dateitypen mit dem jeweils zugeordneten Programm, falls er sie nicht selbst darstellen kann. Einige (wie z.B. pdf) sogar im Browserfenster.

    Das einzige was mir zum Umgehen der Sache einfällt, ist die User auf Shift+Click hinzuweisen.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Und das mit dem Löschen??

      Und wie funzt das mit dem löschen das kriege ich nämlich nicht hin, er sagt er löscht und die Date ist immer noch da....

      Kommentar


      • #4
        Welchen Befehl benutzt du zum Löschen?

        Wenn du den korrekten Befehl unlink() benutzt und er löscht trotzdem nicht, dann liegt's wahrscheinlich an den Zugriffsrechten von php für das Verzeichnis.
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          Unlink=Unix

          Unlink ist aber für unix und da ich Windoof habe funzt der Befehl hier nicht!

          Gruß

          Verena

          Kommentar


          • #6
            Lösung für Speicherproblem mit IE...

            ....oder "Es geht doch".

            So hier ist die Lösung für das Problem mit dem IE.
            Mit folgendem Script läßt sich auch im IE ein Speicherdialog
            öffnen. Von wegen Feature des IE, man muß nur lange genug suchen!! Es gibt immer eine Lösung!!

            MfG

            Verena

            <?php

            //***************** Datei speichern****************************
            //Vorgebenes Dateiverzeichnis zum Speichern öffnen
            $basedir = "upload";
            $filename = $basedir.$file;
            header("Pragma: no-cache");
            header("Expires: 0");
            header("Content-Type: application/download\n");
            header("Content-Disposition: attachment;filename=\"".$filename."\"");
            $fn=fopen($filename , "r");
            fpassthru($fn);
            ?>

            Kommentar


            • #7
              Hochladen

              Hab noch ein kleines Problem...

              beim Script das ich zuerst gepostet habe ist auch eine Hochladefunktion bei.
              Wie kann ich bei der Funktion einen Pfad zum hochladen vorgeben?
              Im Augenblick lädt das Script nur in den aktuellen Ordner aber nicht in den Ordner (upload) in den es eigentlich laden soll.

              Hat einer von euch ne Lösung parat??

              Gruß

              Verena

              Kommentar

              Lädt...
              X