Habe dazu nichts gefunden, also beim Nuffload kann man im ACP einstellen das er die Bilder autom. verkleinert spricht wenn ein Bild 800x600 Pixel hat und im ACP bei beides 750 Pixel eingestellt ist, wird es auf 750pixel verkleinert selbstverständlich bleibt dann auch die breite (600pixel) nicht sonder wird auch dem entsprechend angepasst.
Jetzt würde ich gerne aber den Nuffload ausbauen, weil nur wegen die eine Funktion den drin zu lassen finde ich etwas Verschwendung, daher die Frage gibt es vllt. ein Add-ON der wo man diese auch autom. beim Upload verkleinert werden die Bilder wie bei Nuffload oder müsste sowas erst gebastelt werden? Wäre eine interessante Erweiterung jedenfalls.
[MOD]Resize picture on upload.. no more upload limit
EDIT: Extra Information hinzugefügt....
EDIT2: Extra Information & Titel angepasst....
Gruß Chris
[Album] Frage zu ADD-ONs/MODs
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
- Christian_N
- Beiträge: 1787
- Registriert: Sa 19.Feb, 2005 21:48
- Wohnort: Frankfurt am Main
- Kontaktdaten:
[Album] Frage zu ADD-ONs/MODs
Zuletzt geändert von Christian_N am Do 11.Jan, 2007 14:04, insgesamt 4-mal geändert.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Das müsste erst gebastelt werden.
Wäre theoretisch aber nicht solch ein riesen Ding, da man hochgeladenen Dateien ja auch bearbeiten kann, bevor man sie irgendwo reinstellt.
Also auch nach dem Einfügen in die Album-Tabellen halt vorher verkleinert...
Wäre theoretisch aber nicht solch ein riesen Ding, da man hochgeladenen Dateien ja auch bearbeiten kann, bevor man sie irgendwo reinstellt.
Also auch nach dem Einfügen in die Album-Tabellen halt vorher verkleinert...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
[quote="oxpus";p="68552"]Das müsste erst gebastelt werden.[/quote]
Gibt es aber schon: [MOD]Resize picture on upload.. no more upload limit
Funktioniert ganz gut und wenn man sich an der Begrenzung, dass man nur (vor dem Anpassen) 1mb große Dateien hochladen kann, sört, kann man das im Code ändern - davon ist aber abzuraten, da hierfür die Ausführungszeiten der Scripte entscheidend sind - ist das File zu groß, bricht der Server die Anpassung ab und man nur noch eine weiße Seite + eine Dateileiche auf dem Server (das zu große Bild ist dann zum Teil auf dem Server)
Gruß Max
Gibt es aber schon: [MOD]Resize picture on upload.. no more upload limit
Funktioniert ganz gut und wenn man sich an der Begrenzung, dass man nur (vor dem Anpassen) 1mb große Dateien hochladen kann, sört, kann man das im Code ändern - davon ist aber abzuraten, da hierfür die Ausführungszeiten der Scripte entscheidend sind - ist das File zu groß, bricht der Server die Anpassung ab und man nur noch eine weiße Seite + eine Dateileiche auf dem Server (das zu große Bild ist dann zum Teil auf dem Server)
Gruß Max
- Christian_N
- Beiträge: 1787
- Registriert: Sa 19.Feb, 2005 21:48
- Wohnort: Frankfurt am Main
- Kontaktdaten:
Genau, da wars, hatte doch diese titel gelesen gehabt aber nicht mehr gefunden gehabt gestern *g* Danke Max erstmal.
Mal ausprobieren wie es so läuft.
EDIT: Was gibt es an Multi Uploader alles?
Also bei Nuffload war so da konnte man ZIP Dateien hochladen sowas wäre echt klasse, aber hab in die richtig nichts gesehen ausser ein Multi Uploader der ja nicht gerade sehr prickelt ist, bei des mit ZIP war es schon besser.
Nun ja, mal gespannt welche es geben und empfehlen könnte?
EDIT2: Habe jetzt folgende MODs im Album verbaut:
Album Photo Upload Directory HACK
[MOD]Resize picture on upload.. no more upload limit
No Double Images (Smartor Album)
Also wenn ich die Bilder einzel hochlade dann funktioniert des Resize und auch das mit dem No Double Mod, allerdings wenn ich den Hack benutze um mehre Bilder aus einen Ordner/Verzeichnis hochzuladen funktionieren die beide MODs nicht, er lädt die Bilder hoch auch doppelt und wenn die größer sind als im ACP steht, dann kommt die Information Bilderupload erfolgreich und die liste die nicht hochgeladenen Bilder/Thumbnails weil die Bilder größer sind als im ACP eingestellt, da müsste sicher noch was angepasst werden das er diese Bilder auch Resize tun.
den No Double Images werde ich wahrscheinlich eh ausbauen, wollte den nur mal so testen...
Wäre jedenfalls klasse, wenn man mir sagen kann was ich bei die album_upload.php anpassen muss damit er dort auch resize tut.
Ich glaube das ist die lange Code Zeile hier die darauf angepasst werden müsste:
EDIT3: Bin mir nicht sicher aber wie es aussieht hat es geklappt jedenfalls hat er die 3Bilder die im Verzeichnis "bilder" waren hochgeladen obwohl die mehr als 750Pixel hatten und im Album sind die 3 Bilder auch drin mit 750 Pixel (also verkleinert).
Habe folgendes bei dem oben genannte Code (von EDIT2:) geändert:
ÖFFNE: album_upload.php
FINDE:
ERSETZE MIT:
- FERTIG.
Hoffe, das des alles war, jedenfalls ging der Test Upload vom Verzeichnis aus ohne Probleme damit. :-)
Falls jemand auch diese beide MODs im Album einsetzen sollte, hat die Person nun mal schon den Code dafür. :-D
Mal ausprobieren wie es so läuft.
EDIT: Was gibt es an Multi Uploader alles?
Also bei Nuffload war so da konnte man ZIP Dateien hochladen sowas wäre echt klasse, aber hab in die richtig nichts gesehen ausser ein Multi Uploader der ja nicht gerade sehr prickelt ist, bei des mit ZIP war es schon besser.
Nun ja, mal gespannt welche es geben und empfehlen könnte?
EDIT2: Habe jetzt folgende MODs im Album verbaut:
Album Photo Upload Directory HACK
[MOD]Resize picture on upload.. no more upload limit
No Double Images (Smartor Album)
Also wenn ich die Bilder einzel hochlade dann funktioniert des Resize und auch das mit dem No Double Mod, allerdings wenn ich den Hack benutze um mehre Bilder aus einen Ordner/Verzeichnis hochzuladen funktionieren die beide MODs nicht, er lädt die Bilder hoch auch doppelt und wenn die größer sind als im ACP steht, dann kommt die Information Bilderupload erfolgreich und die liste die nicht hochgeladenen Bilder/Thumbnails weil die Bilder größer sind als im ACP eingestellt, da müsste sicher noch was angepasst werden das er diese Bilder auch Resize tun.
den No Double Images werde ich wahrscheinlich eh ausbauen, wollte den nur mal so testen...
Wäre jedenfalls klasse, wenn man mir sagen kann was ich bei die album_upload.php anpassen muss damit er dort auch resize tut.
Ich glaube das ist die lange Code Zeile hier die darauf angepasst werden müsste:
Code: Alles auswählen
}//end if exist directory
else
{
$file_name_tab = array();
$thumbnail_name_tab = array();
if($dir = @opendir($pic_directory))
{
// --------------------------------
// Check username for guest posting
// --------------------------------
if (!$userdata['session_logged_in'])
{
if ($pic_username != '')
{
$result = validate_username($pic_username);
if ( $result['error'] )
{
message_die(GENERAL_MESSAGE, $result['error_msg']);
}
}
}
// --------------------------------
// Prepare variables
// --------------------------------
$exist_pic_title = true;
if(!isset($pic_title) || $pic_title == "none" || $pic_title == "")
$exist_pic_title = false;
$pic_time = time();
$pic_user_id = $userdata['user_id'];
$pic_user_ip = $userdata['session_ip'];
//For each found file
while($file = @readdir($dir))
{
$filename = $pic_directory."/".$file;
if((@is_file($filename)) && (preg_match('/(\.gif$|\.png$|\.jpg)$/is', $file)))
{
// --------------------------------
// Get File Upload Info
// --------------------------------
ereg( ".*\.([a-zA-Z0-9]{0,5})$", $filename, $type );
$pic_filetype = ".".$type[1];
$filesize = @filesize($filename);
$types['image'] = array ('.jpg', '.gif','.png');
foreach ($types as $k => $v)
{
if (in_array($pic_filetype, $v))
{
if(!$exist_pic_title)
$pic_title = $file;
$thumbtmp = $thumbnail_pic_directory."/".str_replace($pic_filetype, $album_config['thumbnail_ext'].$pic_filetype, $file);
// --------------------------------
// Check file size
// --------------------------------
if(!( ($filesize == 0) or ($filesize > $album_config['max_file_size'])))
{
if ($album_config['gd_version'] == 0)
{
$thumbfileok = false;
if(@is_file($thumbtmp))
$thumbfileok = true;
$thumbsizeok = true;
$thumbsize = @filesize($thumbtmp);
if( ($thumbsize == 0) or ($thumbsize > $album_config['max_file_size']) )
$thumbsizeok = false;
}
// --------------------------------
// Generate filename
// --------------------------------
srand((double)microtime()*1000000); // for older than version 4.2.0 of PHP
do
{
$pic_filename = md5(uniqid(rand())) . $pic_filetype;
}
while( file_exists(ALBUM_UPLOAD_PATH . $pic_filename) );
if (($album_config['gd_version'] == 0) && $thumbsizeok && $thumbfileok)
$pic_thumbnail = $pic_filename;
else
$pic_thumbnail = '';
// --------------------------------
// Move this file to upload directory
// --------------------------------
@copy($filename, ALBUM_UPLOAD_PATH . $pic_filename);
@chmod(ALBUM_UPLOAD_PATH . $pic_filename, 0777);
if (($album_config['gd_version'] == 0) && $thumbsizeok && $thumbfileok)
{
@copy($thumbtmp, ALBUM_CACHE_PATH . $pic_thumbnail);
@chmod(ALBUM_CACHE_PATH . $pic_thumbnail, 0777);
}
// --------------------------------
// Well, it's an image. Check its image size
// --------------------------------
$file_ok = true;
list($pic_width, $pic_height) = @getimagesize(ALBUM_UPLOAD_PATH . $pic_filename);
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);
$file_ok = false;
//add in tab of error uploaded pic and thumbnail
$file_name_tab[] = $filename;
$thumbnail_name_tab[] = $thumbtmp;
}
$thumbnail_ok = true;
if (($album_config['gd_version'] == 0) && $file_ok)
{
list($thumb_width, $thumb_height) = @getimagesize(ALBUM_CACHE_PATH . $pic_thumbnail);
if ( ($thumb_width > $album_config['thumbnail_size']) or ($thumb_height > $album_config['thumbnail_size']) )
{
@unlink(ALBUM_UPLOAD_PATH . $pic_filename);
@unlink(ALBUM_CACHE_PATH . $pic_thumbnail);
$thumbnail_ok = false;
//add in tab of error uploaded pic and thumbnail
$file_name_tab[] = $filename;
$thumbnail_name_tab[] = $thumbtmp;
}
}
// --------------------------------
// This image is okay, we can cache its thumbnail now
// --------------------------------
if( ($album_config['thumbnail_cache'] == 1) and ($pic_filetype != '.gif') and ($album_config['gd_version'] > 0) )
{
$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 = '';
}
else if( ($pic_width > $album_config['thumbnail_size']) or ($pic_height > $album_config['thumbnail_size']) )
{
// Resize it
if ($pic_width > $pic_height)
{
$thumbnail_width = $album_config['thumbnail_size'];
$thumbnail_height = $album_config['thumbnail_size'] * ($pic_height/$pic_width);
}
else
{
$thumbnail_height = $album_config['thumbnail_size'];
$thumbnail_width = $album_config['thumbnail_size'] * ($pic_width/$pic_height);
}
$thumbnail = ($album_config['gd_version'] == 1) ? @imagecreate($thumbnail_width, $thumbnail_height) : @imagecreatetruecolor($thumbnail_width, $thumbnail_height);
$resize_function = ($album_config['gd_version'] == 1) ? 'imagecopyresized' : 'imagecopyresampled';
@$resize_function($thumbnail, $src, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $pic_width, $pic_height);
}
else
{
$thumbnail = $src;
}
if (!$gd_errored)
{
$pic_thumbnail = $pic_filename;
// Write to disk
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($thumbnail, ALBUM_CACHE_PATH . $pic_thumbnail, $album_config['thumbnail_quality']);
break;
case '.png':
@imagepng($thumbnail, ALBUM_CACHE_PATH . $pic_thumbnail);
break;
}
@chmod(ALBUM_CACHE_PATH . $pic_thumbnail, 0777);
} // End IF $gd_errored
} // End Thumbnail Cache
else if ($album_config['gd_version'] > 0)
{
$pic_thumbnail = '';
}
// --------------------------------
// Check Pic Approval
// --------------------------------
$pic_approval = ($thiscat['cat_approval'] == 0) ? 1 : 0;
// --------------------------------
// Insert into DB if file and thumbnail are ok !
// --------------------------------
if($file_ok && $thumbnail_ok)
{
$sql = "INSERT INTO ". ALBUM_TABLE ." (pic_filename, pic_thumbnail, pic_title, pic_desc, pic_user_id, pic_user_ip, pic_username, pic_time, pic_cat_id, pic_approval)
VALUES ('$pic_filename', '$pic_thumbnail', '$pic_title', '$pic_desc', '$pic_user_id', '$pic_user_ip', '$pic_username', '$pic_time', '$cat_id', '$pic_approval')";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not insert new entry', '', __LINE__, __FILE__, $sql);
}
}
}//end size file ok
else
{
//add in tab of error uploaded pic and thumbnail
$file_name_tab[] = $filename;
$thumbnail_name_tab[] = $thumbtmp;
}
} //end if(array())
}//end foreach()
}//end is_file()
}//end while readdir()
@closedir($dir);
// --------------------------------
// Complete... now send a message to user
// --------------------------------
$message = $lang['Album_all_upload_successful'];
//List of file and thumbnail not uploaded
if(@sizeof($file_name_tab)>0)
$message .= "<BR><BR>".$lang['Pic_List_Error']."<BR>";
for($i=0;$i<@sizeof($file_name_tab);$i++)
$message .= $file_name_tab[$i]."<BR>";
if(@sizeof($thumbnail_name_tab)>0)
$message .= "<BR>".$lang['Thumbnail_List_Error']."<BR>";
for($i=0;$i<@sizeof($thumbnail_name_tab);$i++)
$message .= $thumbnail_name_tab[$i]."<BR>";
}
else
{
//Directory not exist !
message_die(GENERAL_MESSAGE, $lang['Directory_not_exist']);
}
}//end if else upload to directoryHabe folgendes bei dem oben genannte Code (von EDIT2:) geändert:
ÖFFNE: album_upload.php
FINDE:
Code: Alles auswählen
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);
$file_ok = false;
//add in tab of error uploaded pic and thumbnail
$file_name_tab[] = $filename;
$thumbnail_name_tab[] = $thumbtmp;
}Code: Alles auswählen
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);
}
$file_ok = false;
//add in tab of error uploaded pic and thumbnail
$file_name_tab[] = $filename;
$thumbnail_name_tab[] = $thumbtmp;
}
}Hoffe, das des alles war, jedenfalls ging der Test Upload vom Verzeichnis aus ohne Probleme damit. :-)
Falls jemand auch diese beide MODs im Album einsetzen sollte, hat die Person nun mal schon den Code dafür. :-D
Zuletzt geändert von Christian_N am Do 11.Jan, 2007 22:46, insgesamt 3-mal geändert.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt