» Bildupload via PHP
Ich habe mal eine kleine Funktionalität zum Hochladen von *.jpeg Bildern geschrieben. In wenigen Schritten ist das ganze eingerichtet1.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
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