phpbar.de logo

Mailinglisten-Archive

[php] Bildgroesse, -breite, -laenge

[php] Bildgroesse, -breite, -laenge

Susanne Jäger susjaeger at sujag.de
Don Okt 28 14:43:31 CEST 2004


Am 28.10.04 10:29 schrieb Joern Grube :
> Es bleibt mir also 
> letztendlich nichts weiter uebrig, als das Bild hochladen zu lassen und 
> dann erst zu pruefen :( Das bedeutet einiges an Mehrarbeit, ich muss die 
> Grafik naemlich auch noch einem Beitrag zuordnen und in diesem anzeigen.

Die Tatsache, dass du das Bild hochladen läßt, heißt doch noch nicht, dass
du es auch in deine Seite einarbeitest. Vielleicht kannst du ja mit dieser
Funktion etwas anfangen.

function upload_image($neudatei) {
   $fehler = "";
   $upload = 0;

   switch ($neudatei["error"]) {
      case 4:
         $fehler .= "Es wurde keine Datei übermittelt.";
         break;
      case 1 OR 2:
         $fehler .= "Die Datei ".$neudatei["name"]." ist zu groß. Ein Bild
         darf nicht größer als ". (IMG_MAX_SIZE/1000) . "k und sollte

         nicht größer als ".(IMG_REC_SIZE/1000)."k sein.";
         break;
      case 3:
         $fehler .= "Die Datei ".$neudatei["name"]." wurde nur
         unvollständig übertragen. Bitte noch einmal versuchen.";
         break;
      case 0:
         $upload = 1;
   }
   if ($fehler) {return $fehler;}

   /* wenn upload = 1 liegt die Datei jetzt im tmp_uploadVerzeichnis, aus
   dem sie nach Ende des Skripts automatisch entsorgt wird */
   if ($upload) {
      /* Prüfung des Dateityps */
      $img_mime_types = array("image/jpeg","image/gif","image/png");
      if (! in_array($neudatei["type"],$img_mime_types)) {
         $fehler .= "Achtung: nur Bilder in den Formaten jpg, gif
            oder png können verwendet werden. ".
            $neudatei["name"] .
            " ist aber vom Typ " .$neudatei["type"];
         return $fehler;
      }
      /* Prüfung der Dateigröße */
      if ($neudatei["size"] > IMG_MAX_SIZE) {
         $fehler .= "Ein Bild darf nicht größer als ". (IMG_MAX_SIZE/1000)
         . "k und sollte nicht größer als ".(IMG_REC_SIZE/1000)."k sein.";
         return $fehler;
      }
      /* Prüfung der Bildbreite */
      $bildinfos = getimagesize($neudatei["tmp_name"]);
      if ($bildinfos[0] > IMG_MAX_WIDTH) {
         $fehler .= "Tut mir leid, Bilder dürfen nicht breiter als " .
            IMG_MAX_WIDTH." Pixel und sollten nicht breiter als " .
            IMG_REC_WIDTH." Pixel sein. Das angegebene Bild hat aber
            eine Breite von ".$bildinfos[0]." Pixeln.";
         return $fehler;
      }
 move_uploaded_file($neudatei["tmp_name"],TEMP_DIR."/".$neudatei["name"]);
      $neubild = ($bildinfos);
      $neubild["name"] = $neudatei["name"];
      return $neubild;
   }
}

Achtung die Funktion stammt aus einer meiner Dauerbaustellen, soweit ich
mich erinnere lief es aber. Die Konstanten stammen alle aus einer
projektweiten ini-Datei.

Gruß
Susanne

-- 
Susanne Jäger
http://sujag.de - Webentwicklung und -beratung

php::bar PHP Wiki   -   Listenarchive