Seite 1 von 2
Photo Album Smartor - automatisch Bilder verkleinern
Verfasst: 29.01.2005 20:11
von stoni81
Hallo, ich suche einen Mod der automatisch bei Upload der Bilder diese vekleinert.
Ich hatte sowas schon mal wo gesehen aber ich finde das nicht und suche schon irr lange umher.
Kann mir wer helfen.
Verfasst: 14.02.2005 16:44
von mgutt
hätte ich auch gerne

Verfasst: 15.02.2005 13:28
von Max
na dann:
Code: Alles auswählen
open album_upload.php
find:
Code:
if( ($filesize == 0) or ($filesize > $album_config['max_file_size']) )
{
message_die(GENERAL_MESSAGE, $lang['Bad_upload_file_size']);
}
replace with
Code:
if( ($filesize == 0) or ($filesize > 1024000) )
{
message_die(GENERAL_MESSAGE, $lang['Bad_upload_file_size']);
}
$recompress = 0;
if ($filesize > $album_config['max_file_size'])
{
$recompress = 1;
}
find:
Code:
if ( ($pic_width > $album_config['max_width']) or ($pic_height > $album_config['max_height']) )
{
@unlink(ALBUM_UPLOAD_PATH . $pic_filename);
if ($album_config['gd_version'] == 0)
{
@unlink(ALBUM_CACHE_PATH . $pic_thumbnail);
}
message_die(GENERAL_ERROR, $lang['Upload_image_size_too_big']);
}
replace with:
Code:
if ( (($pic_width > $album_config['max_width']) or ($pic_height > $album_config['max_height'])) OR ($recompress == 1) )
{
if ($album_config['gd_version'] == 0)
{
@unlink(ALBUM_UPLOAD_PATH . $pic_filename);
@unlink(ALBUM_CACHE_PATH . $pic_thumbnail);
message_die(GENERAL_ERROR, $lang['Upload_image_size_too_big']." Error code: 001");
}
$gd_errored = FALSE;
switch ($pic_filetype)
{
case '.jpg':
$read_function = 'imagecreatefromjpeg';
break;
case '.png':
$read_function = 'imagecreatefrompng';
break;
}
$src = @$read_function(ALBUM_UPLOAD_PATH . $pic_filename);
if (!$src)
{
$gd_errored = TRUE;
$pic_thumbnail = '';
}
if (($pic_width > $album_config['max_width']) or ($pic_height > $album_config['max_height']))
{
if ($pic_width > $pic_height)
{
$new_width = $album_config['max_width'];
$new_height = $album_config['max_width'] * ($pic_height/$pic_width);
}
else
{
$new_height = $album_config['max_height'];
$new_width = $album_config['max_height'] * ($pic_width/$pic_height);
}
}
else
{
$new_width = $pic_width;
$new_height = $pic_height;
}
$new_pic = ($album_config['gd_version'] == 1) ? @imagecreate($new_width, $new_height) : @imagecreatetruecolor($new_width, $new_height);
$resize_function = ($album_config['gd_version'] == 1) ? 'imagecopyresized' : 'imagecopyresampled';
@$resize_function($new_pic, $src, 0, 0, 0, 0, $new_width, $new_height, $pic_width, $pic_height);
if (!$gd_errored)
{
// print $recompress ."<br>".$pic_filename; exit;
// overwrite old image
@unlink(ALBUM_UPLOAD_PATH . $pic_filename);
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($new_pic, ALBUM_UPLOAD_PATH . $pic_filename, 80);
break;
case '.png':
@imagepng($new_pic, ALBUM_UPLOAD_PATH . $pic_filename);
break;
}
@chmod(ALBUM_CACHE_PATH . $pic_thumbnail, 0777);
$pic_width = $new_width;
$pic_height = $new_height;
} // End IF $gd_errored
else
{
@unlink(ALBUM_UPLOAD_PATH . $pic_filename);
if ($album_config['gd_version'] == 0)
{
@unlink(ALBUM_CACHE_PATH . $pic_thumbnail);
}
message_die(GENERAL_ERROR, $lang['Upload_image_size_too_big']." Error code: 002");
}
}
I added to error codes Error code: 001 and Error code: 002.. but its for debugging only.. so you know what happened if a user sends u a mail saying he got that code as the output text is the same... error code 1, picture is to big and you don't have gd installed..
error code 2 there was a gd error...
and in lang_main_album.php
add these three at the end before the ?>
Code:
$lang['Max_file_size'] = 'Maximum file size before recompression (bytes)';
$lang['Max_width'] = 'Maximum image width before recompression (pixel)';
$lang['Max_height'] = 'Maximum image height before recompression (pixel)';
i hope it works for you to..
I only tested it with GD2 and i don't allow uploading of gifs...
(thats why feedback is interesting)
Ich habe leider grad den Link auf den original-Thread nicht, aber es ist auf Smartors Seite zu finden.
Sollte das nicht gehen, weil nach dem Upload des Bildes eine weiße Seite kommt, kann man in der .htaccess folgendes eintragen (auch von Smartors Seite geholt der Tipp) :
Code: Alles auswählen
php_flag register_globals on
<FilesMatch "\.(php|html?)$">
php_value upload_max_filesize 8M
php_value memory_limit 40M
php_value max_execution_time 300
php_value max_input_time 300
</FilesMatch>
Das funktioniert beides bei mir, da das eine Forum ein serverseitg enger gestecktes Uploadlimit hatte, musste ich dort das mit der .htaccess regulieren.
Dann gibt es wohl noch eine Möglichkeit, warum eine weiße Seite erscheint, das habe ich aber nicht gehabt, daher auch nicht weiterverfolgt...
Und wenn alles nicht geht, dann liegt das wohl an der GD-Geschichte.
Gruß Max
Verfasst: 25.03.2005 00:08
von Garfield312
Dieser Mod hat bei mir nicht gefunzt, dafür dieser (auch von Smartors Seite) :
http://www.crh.pwp.blueyonder.co.uk/auto_resizer.zip
Prima Sache, 1 Min. Installation und schön komfortabel übers ACP zu konfigurieren

Verfasst: 25.03.2005 01:05
von Toni
Hallo,
weiss zufaellig jemand, ob es etwas aehnliches auch fuer den Attachment-Mod gibt ?
Gruss Toni
Verfasst: 25.03.2005 09:13
von Garfield312
In der Art wüßte ich es jetzt nicht, aber ich habe bei mir das
Simple Image Resize für den Attach-Mod eingebaut. Funktioniert auch gut.
Das hatte ich irgendwo gefunden, frag aber nicht wo, ich weiß es nicht mehr.
Verfasst: 25.03.2005 20:47
von Garfield312
@Toni:
Ich habs per Zufall wiedergefunden :
"Bild im Attachment-Mod automatisch verkleinern auf Bildschirmbreite :"
Ok wunderbar
also das ist eine Alternative für die Leute:
- die die Thumbnail-Funktion vom Attachment Mod nicht ans laufen kriegen
- die falsche Farben in den Thumbnails haben und auch das nicht behoben bekommen
Hier der Originalcode in der viewtopic_attach_body.tpl :
Code: Alles auswählen
<tr>
<td colspan="2" align="center"><br /><img src="{postrow.attach.cat_images.IMG_SRC}" alt="{postrow.attach.cat_images.DOWNLOAD_NAME}" border="0" /><br /><br /></td>
</tr>
ändern in:
Code: Alles auswählen
<tr>
<td colspan="2" align="center"><br /><img src="{postrow.attach.cat_images.IMG_SRC}" onload="javascript:if(this.width > screen.width-400)this.width = (screen.width-400)" onclick="javascript:window.open('{postrow.attach.cat_images.IMG_SRC}','','scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0')" alt="Für Originalgröße auf das Bild klicken." title="Für Originalgröße auf das Bild klicken." border="0" /><br /><br /></td>
</tr>
Übrigens "-400" finde ich besser bei einer Auflösung von 1024x768
Ist zwar nicht ganz die feine Lösung, funzt aber

Verfasst: 26.03.2005 01:07
von Toni
Hallo Garfield312,
das ist nicht ganz das, was ich suche.
Habe ja die Thumbnails im Attachmant-Mod am laufen. Habe da pro Datei max. 256 kb erlaubt.
Wuerde da jetzt gerne bei Bildern die Qualitaet senken (komprimieren), damit die Bilddatei kleiner wird.
Koennte somit viel Speicherplatz sparen. Optisch waere es (kaum) nicht bemerkbar.
Gruss Toni
Verfasst: 28.03.2005 23:50
von celsius
@ max
hi und danke, der gepostete mod funktioniert prächtig.
der "auto resizer" über den link von garfield312 funzte nicht - keine fehlermeldung aber auch keine funktion.
danke!
Verfasst: 30.03.2005 11:01
von Garfield312
@Celsius:
Hattest du den Autoresizer denn richtig übers ACP konfiguriert ? Nur vorsichtshalber gefragt.