File Upload

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

  • File Upload

    Hi,

    ich will einen Formailer erstellen der Bilder als Anhang versendet. Dazu hab ich mehrere Code Schnipsel aus verschiedenen Scripts zusammengefügt. Soweit funktioniert das ganze auch, nur bei großen Dateien (>2MB) bringt das Skript folgende Fehlermeldungen ...
    Code:
    Warning: fread(): supplied argument is not a valid stream resource in /.../.../.../mail.php on line 34
    
    Warning: fclose(): supplied argument is not a valid stream resource in /.../.../.../mail.php on line 35
    Die Email wird versendet, die Datei ist aber 0kb groß.

    Kann mir jemand helfen ???

    Der Code des Skripts:
    PHP-Code:
    <?
    $extlimit = "yes"; //Do you want to limit the extensions of files uploaded
    $limitedext = array(".gif",".jpg",".png",".jpeg"); //Extensions you want files uploaded limited to.
    $sizelimit = "yes"; //Do you want a size limit, yes or no?
    $sizebytes = "2097152"; //size limit in bytes
    if($datei!= "") {
    if (($sizelimit == "yes") && ($datei_size > $sizebytes)) {
    header ("Location: fehler.htm");
    exit;
    }
    $ext = strrchr($datei_name,'.');
    if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
    header ("Location: fehler.htm");
    exit;
    }
    }
    $grenze="grenzlinie";
    $name_des_bildes=$HTTP_POST_FILES['datei']['name'];
    $headers ="MIME-Version: 1.0\r\n";
    $headers.="From: $mailaddi\n";
    $headers.="Content-Type: multipart/mixed;\n\tboundary=$grenze\n";
    $botschaft="\n--$grenze\n";
    $botschaft.="Content-transfer-encoding: 7BIT\r\n";
    $botschaft.="Content-type: text/plain\n\n";
    $botschaft.= "Guten Tag $Vorname $Nachname. $Beruf ist ein schöner Beruf.
    Wir werden uns in Kürze unter der genannten Rufnummer
    $Telefon mit Ihnen in Verbindung setzen. \n";
    $botschaft.="\n\n";
    $botschaft.="\n--$grenze\n";
    $botschaft.="Content-Type: application/octetstream;\n\tname=$name_des_bildes\n";
    $botschaft.="Content-Transfer-Encoding: base64\n";
    $botschaft.="Content-Disposition: attachment;\n\tfilename=$name_des_bildes\n\n";
    $zeiger_auf_datei=fopen("$datei","rb");
    34 $inhalt_der_datei=fread($zeiger_auf_datei,filesize("$datei"));
    35 fclose($zeiger_auf_datei);
    $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
    $botschaft.=$inhalt_der_datei;
    $botschaft.="\n\n";
    $botschaft.="--$grenze";
    mail("mail@domain.de","test mit attachements",$botschaft,$headers);
    print "email wurde versandt";
    ?>
    Zuletzt geändert von Oraj; 18.01.2005, 16:32.

  • #2
    Re: File Upload

    Original geschrieben von Oraj
    Warning: fread(): supplied argument is not a valid stream resource in /.../.../.../mail.php on line 34
    das öffnen der datei vorher hat nicht geklappt - vermutlich, weil sie gar nicht da ist.

    nur bei großen Dateien (>2MB)
    oh wunder, 2MB sind ja auch das bei PHP standardmäßig eingestellte limit für datei-uploads.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wieso sollte die Datei nicht da sein?
      Bei kleinen Dateien funktionierts doch auch.
      Mein Upload Limit liegt bei 8 MB.

      Aber egal, ich hab ein fertiges Skript gefunden, das all meine Wünsche erfüllt.

      Aber trotzdem Danke

      Kommentar


      • #4
        $sizelimit = "yes"; //Do you want a size limit, yes or no?
        $sizebytes = "2097152"; //size limit in bytes
        Hier ist doch das Dateilimit auf 2 MB festgesetzt - bei Dir im Code in Zeile 3 und 4...

        Versuche das doch einfach mal zu erhöhen oder $sizelimit auf "no" zu setzen...

        Mfg

        pgmnetworks

        Kommentar

        Lädt...
        X