» Bildupload via PHP

Ich habe mal eine kleine Funktionalität zum Hochladen von *.jpeg Bildern geschrieben. In wenigen Schritten ist das ganze eingerichtet

1.Erstellt einen Ordner "pictures", in den die Bilddateien abgelegt werden.

2.erstellt eine Datei "upload.php", in die ihr diesen code einfügt:
<?php   
   function upload_pic(){
      if($_POST[form_picture_send]){
         //Bild absenden
         upload_send();
      } else {
         show_form();
      }
   }
   
   //Formular anzeigen
   function show_form(){
      echo '<form method="POST" action="',$_SERVER[PHP_SELF],'" enctype="multipart/form-data">';
      echo 'Bild hochladen: <input type="file" name="form_picture"><br><br>';
      echo '<input type="submit" value="hochladen" name="form_picture_send">';
      echo '</form>';
   }
   
   //Bild hochladen
   function upload_send(){
      
      $maxsize = 100000;
      $maxwidth = 1000;
      $maxheight = 700;

      
      if($_POST[form_picture_send]){
      
         //Es wurde kein Bild hochgeladen
         if($_FILES[form_picture][size]==0){
            $error[] = 'Du musst ein Bild hochladen.';
         } else {
               
            //Fehler: Bild zu gross
            if($_FILES[form_picture][size]>= $maxsize){
               $error[] = 'Das Bild ist zu groß';
            }
         
            //Fehler: Falscher Bildtyp
            if(($_FILES[form_picture][type]<>"image/jpeg") and ($_FILES[form_picture][type]<>"image/pjpeg")){
               $error[] = 'Es sind nur Bilder des Typs *.jpg und *.jpeg gestattet.';
            }
               
            //Abmessungen des Bildes herausfinden
            $size = getimagesize($_FILES[form_picture][tmp_name]);
            $width = $size[0];
            $height = $size[1];
            
            if(($height>$maxheight) or ($width>$maxwidth)){
               $error[] = 'Die Bildabmessungen sind zu gross. Erlaubt ist höchstens '.$maxwidth.'x'.$maxheight.' px.';
            }         
         }
                  
         if(!isset($error)){
            //Kein Fehler vorhanden ...
            
            //Bild kopieren
            $newfile = time().'.jpg';
            $newfilepath = '../pictures/'.$newfile;
            
            //Bild an neue Position kopieren
            copy($_FILES[form_picture][tmp_name],$newfilepath);
   
         } else {
            //Fehler aufgetreten, ausgeben
            foreach($error as $out){
               echo '<div>',$out,'</div>';
            }
         }
      }
   }
?>


3.Die Werte $maxwidth.$maxheight und $maxsize nach Wunsch anpassen.

4.Um das Formular aufzurufen müßt ihr nur noch diesen Code in eure PHP-Seite einfügen:
<?php 
	//Einbinden der upload.php
	include 'upload.php';
	//Aufrufen der Upload-Funkton
	upload_pic();
?>


5.Spass haben ;-)

Hinweis
-Ich übernehme übrigens keine Verantwortung für die Sicherheit dieses Skripts - Hinweise sind aber willkommen.
-Das Skript gibt nur eine mögliche Vorgehensweise an. Es hat keinen Anspruch auf Sicherheit oder Vollständigkeit.

Programmierung | 12.03.2007 | 41 Wörter | 205 Views

Name*

E-Mail

Homepage

Benachrichtung

Kommentar*





1. JB PHOTO-DESIGN | EMAIL SCHRIEB AM 29.06.2008:
Hallo und grüß Dich, habe versucht dieses Script auf meiner Homepage einzubinden, leider hat es nicht funktioniert. Kannst Du helfen? Gruß Inge aus Berlin

my:content

» Blog

» Fotografie

» Wallpaper

» About me

» Archiv & Suche

» Fotolinks

Stillleben
Portrait

local:music

» Zerwix

» Dark Acception

» Psypirinha

» Noema

» Rostdocs

» 5th Season

special:blogs

» Will Tenner

» Turbojordi

» Lizman


Top rated
Feuer

other:links

» Res-Dead

» ST Club

» Deviantart

» Prolinux.de

» St. Pauli

Natur