Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
gado
Threadersteller
Dabei seit: 22.11.2005
Ort: Birkenau
Alter: -
Geschlecht:
|
Verfasst Sa 24.02.2007 18:54
Titel Bildverarbeitung nach upload |
|
|
Hallo zusammen,
ich habe folgendes Problem, und zwar will ich das registrierte Besucher meiner Webseite ein Bild von sich hochladen können. Also ein kleiner Uploadscript und dann ein Script welches das Bild entgegen nimmt und ein Thumb(max 80 Berit oder Hoch) sowie ein Original (max 250px Breit oder hoch) auf dem Webserver unter der ID des Nutzers Speichert. Ich würde den Bildupload auf jpg Bilder beschränken.
Also hier mal mein Ansatz:Uploadscript
Code: | <form ENCTYPE="multipart/form-data" method="post" action="bildupload.php">
<input type="file" name="bilddatei" size="40">
<br>
<input type="submit" name="upload" value="Ruff damit">
</form> |
Nun die weiterverarbeitung..
Code: | <?php
$id = $_SESSION['userid'];
//nur jpg
if($_FILES['bilddatei']['type'] != 2)
{
//nicht groesser als 1MB
if($_FILES['bilddatei']['size'] < 1024000)
{
$Grafikdatei = $_FILES['bilddatei'];
$Bilddaten = getimagesize($Grafikdatei);
//orginal rechnen
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$vollformatBreite = 250;
if($OriginalBreite < $vollformatBreite)
{
$vollformatBreite=$OriginalBreite;
}
$Skalierungsfaktor = $OriginalBreite/$vollformatBreite;
$vollformatHoehe = intval($OriginalHoehe/$Skalierungsfaktor);
$Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
$vollformatgrafik = ImageCreateTrueColor($vollformatBreite, $vollformatHoehe);
ImageCopyResized($vollformatgrafik, $Originalgrafik, 0, 0, 0, 0, $vollformatBreite, $vollformatHoehe, $OriginalBreite, $OriginalHoehe);
ImageJPEG($vollformatgrafik, "/img/members/$id.jpg");
//thumb rechnen
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 80;
if($OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}
$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);
$Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
$Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
ImageJPEG($Thumbnailgrafik, "/img/members/thumb_$id.jpg");
}
}
?> |
PS: Das Script habe ich aus tausenden freien Scripten zusammengebastelt. Also nicht alleine geschrieben, weil ich einfach die Bildbefehle nicht raff.
Wenn ich den Code einbastel kommt:
Zitat: | Warning: Division by zero in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 129
Warning: Division by zero in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 130
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 133
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 134
Warning: imagejpeg(): supplied argument is not a valid Image resource in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 135
Warning: Division by zero in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 146
Warning: Division by zero in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 147
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 150
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 151
Warning: imagejpeg(): supplied argument is not a valid Image resource in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 152 |
Warum ? Vielen Dank schonmal für Eure Hilfe! lg Mirko
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 24.02.2007 20:14
Titel Re: Bildverarbeitung nach upload |
|
|
gado hat geschrieben: | Code: | Warning: Division by zero in /usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/admin_mitglied.php on line 129 |
|
steht doch hier .. irgendwas versuchst du durch 0 zu teilen & das
klappt halt nun mal nicht.
spontan frag ich mich, was du gedenkst hiermit zu tun:
gado hat geschrieben: | Code: | $Grafikdatei = $_FILES['bilddatei'];
$Bilddaten = getimagesize($Grafikdatei); |
|
Schau dir erst mal das $_FILES Array an, und dann überarbeite
denen Code dahingehend.
|
|
|
|
|
Anzeige
|
|
|
magicslider
Dabei seit: 04.02.2007
Ort: WW
Alter: -
Geschlecht:
|
|
|
|
|
gado
Threadersteller
Dabei seit: 22.11.2005
Ort: Birkenau
Alter: -
Geschlecht:
|
Verfasst So 25.02.2007 12:38
Titel Re: Bildverarbeitung nach upload |
|
|
dastef hat geschrieben: | spontan frag ich mich, was du gedenkst hiermit zu tun:
gado hat geschrieben: | Code: | $Grafikdatei = $_FILES['bilddatei'];
$Bilddaten = getimagesize($Grafikdatei); |
|
Schau dir erst mal das $_FILES Array an, und dann überarbeite
denen Code dahingehend. |
Hi, hiermit wollte ich der Funktion sagen wie das Bild heißt und wo es liegt das es bearbeitet werden kann Code: | $Grafikdatei = $_FILES['bilddatei']['tmp_name']; |
selbst wenn es so heiß funktioniert es nicht, allerdings steht nun da das das Script Sicherheitsrichtlinien verletzt, und zwar sag es Zitat: | SecureSSI: Das Script (/usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/index.php) hat versucht, ausserhalb von seinem Userverzeichniss, auf die Datei /img/members/6.jpg zuzugreifen.
Aus Sicherheitsgruenden ist dies nicht erlaubt! | Das verstehe ich nun überhaupt nicht
lg Mirko
|
|
|
|
|
gado
Threadersteller
Dabei seit: 22.11.2005
Ort: Birkenau
Alter: -
Geschlecht:
|
Verfasst So 25.02.2007 12:41
Titel
|
|
|
Hi, habs hinbekommen, habe folgendes gemacht Code: | ImageJPEG($vollformatgrafik, "/usr/export/www/vhosts/funnetwork/hosting/kljbbirkenau/img/members/$id.jpg"); | allerdings muss man doch auch relative pfadangaben machen können, oder?
lg Mirko
PS: DANKE
|
|
|
|
|
cRime
Dabei seit: 07.05.2006
Ort: Berlin
Alter: 39
Geschlecht:
|
Verfasst So 25.02.2007 12:49
Titel
|
|
|
dankeschön, danach hab ich gesucht
hab folgenden code rausgefischt:
Code: | <?php
$o_file = "bild.jpg";
function makeThumbnail($o_file, $t_ht = 100) {
$image_info = getImageSize($o_file) ; // see EXIF for faster way
switch ($image_info['mime']) {
case 'image/gif':
if (imagetypes() & IMG_GIF) { // not the same as IMAGETYPE
$o_im = imageCreateFromGIF($o_file) ;
} else {
$ermsg = 'GIF images are not supported<br />';
}
break;
case 'image/jpeg':
if (imagetypes() & IMG_JPG) {
$o_im = imageCreateFromJPEG($o_file) ;
} else {
$ermsg = 'JPEG images are not supported<br />';
}
break;
case 'image/png':
if (imagetypes() & IMG_PNG) {
$o_im = imageCreateFromPNG($o_file) ;
} else {
$ermsg = 'PNG images are not supported<br />';
}
break;
case 'image/wbmp':
if (imagetypes() & IMG_WBMP) {
$o_im = imageCreateFromWBMP($o_file) ;
} else {
$ermsg = 'WBMP images are not supported<br />';
}
break;
default:
$ermsg = $image_info['mime'].' images are not supported<br />';
break;
}
if (!isset($ermsg)) {
$o_wd = imagesx($o_im) ;
$o_ht = imagesy($o_im) ;
// thumbnail width = target * original width / original height
$t_wd = round($o_wd * $t_ht / $o_ht) ;
$t_im = imageCreateTrueColor($t_wd,$t_ht);
imageCopyResampled($t_im, $o_im, 0, 0, 0, 0, $t_wd, $t_ht, $o_wd, $o_ht);
imagejpeg($t_im,"thumb.gif");
imageDestroy($o_im);
imageDestroy($t_im);
}
return isset($ermsg)?$ermsg:NULL;
}
?>
<?
//header("Content-type: image/jpeg");
makeThumbnail("bild.gif", 100);
?> |
der code wandelt einfach nur ein bild in eine andere gewünschte größe um.
die funktion kann man dann in einer schleife aufrufen um thumbs zu generieren!!!
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 25.02.2007 13:11
Titel
|
|
|
gado hat geschrieben: | ...allerdings muss man doch auch relative pfadangaben machen können, oder? |
klar, aber /img/.. ist halt nicht relativ! ./img/ wäre es, oder img/
auch - aber so wie du's geschrieben hast halt nicht. zumindest
könntest du auch über __FILE__ arbeiten und somit relative
generieren.
|
|
|
|
|
magicslider
Dabei seit: 04.02.2007
Ort: WW
Alter: -
Geschlecht:
|
Verfasst So 25.02.2007 15:34
Titel
|
|
|
welchen sinn soll die erste bedingung habenl ?
Code: | if($_FILES['bilddatei']['type'] != 2) |
der type ist mime, zudem gibt es verschiedene jpg mime typen ?
Zitat: |
Diese Variable enthält den MIME-Type der Datei, so wie er dem Server vom Browser übermittelt worden ist. Dieser Wert kann unter Umständen nicht richtig sein, je nach Einstellung des Browsers. Beim Ermitteln des Typs von hochgeladenen Grafiken sollte stattdessen die Funktion getimagesize() verwendet werden. |
|
|
|
|
|
|
|
|
Ähnliche Themen |
[Flash] Bildverarbeitung
IMG/Upload
Upload & Co
php upload problem
Bilder Upload
ftp upload online
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|