Seite 1 von 1

Dateiverwaltung - Thumbnails bei sehr großen Bildern 4.8

Verfasst: Fr 5. Dez 2008, 20:55
von malsdgtac
Wenn man sehr große Bilder in der Dateiverwaltung hat, gibt es das Problem, dass die Thumbnailerstellung nicht mehr funktioniert.

In der 4.6 konnte man das Problem lösen, indem man auf "keine Thumbnails" umstellte. Geht das in der 4.8 auch noch irgendwie?

Vielen Dank für Eure Hilfe.

Verfasst: Mo 22. Dez 2008, 14:38
von emergence
ich hab kurz den code angesehen...
das scheint nicht mehr zu gehen...

Re: Dateiverwaltung - Thumbnails bei sehr großen Bildern 4.8

Verfasst: Mo 6. Dez 2010, 09:25
von derernst
Ich halte das grundsätzlich für inakzeptabel, in einem professionellen Umfeld sind große Bilddateien an der Tagesordung, z.B. als Presse-Downloads. Dies sollte schnellstens repariert werden, z.B. durch eine Mandanteneinstellung, mit der eine Obergrenze festgelegt werden kann, bis zu welcher Dateigrösse Thumbnails angelegt werden.

Für alle die dieses Problem haben, hier ein Hinweis, wie ihr das im Code einstellen könnt. Die folgende Zeile ist zu ergänzen:

Datei: contenido/includes/functions.upl.php
Zeile: 643 (zumindest in Version 4.8.12 ist es diese Zeile)

Code: Alles auswählen

if (filesize($cfgClient[$client]["upl"]["path"].$file) > 307200) return uplGetFileIcon ($file);
So werden von Bildern über 300 KB keine Thumbnails erzeugt, und die Dateiverwaltung wird fehlerlos angezeigt. Um die Grösse zu ändern, setzt statt 307200 einen anderen Wert ein, ihr könnt ja ausprobieren, ab welcher Grösse bei eurem Server das Problem auftritt.

Die ganze Funktion sieht dann so aus:

Code: Alles auswählen

function uplGetThumbnail ($file, $maxsize)
{
	global $client, $cfgClient, $cfg;

	if ($maxsize == -1)
	{
		return uplGetFileIcon ($file);
	}
	
	switch (getFileExtension($file))
	{
		case "png":
		case "gif":
		case "tiff":
		case "tif":
		case "bmp":
		case "jpeg":
		case "jpg":
		case "bmp":
		case "iff":
		case "xbm":
		case "wbmp":
				/* Ergänzung: Keine Thumbnails für grosse Dateien */
				if (filesize($cfgClient[$client]["upl"]["path"].$file) > 307200) return uplGetFileIcon ($file);
				/* Ende Ergänzung */

				$img = capiImgScale($cfgClient[$client]["upl"]["path"].$file, $maxsize, $maxsize, false, false, 50);

				if ($img !== false)
				{
					return $img;
				} else {
					$value = capiImgScale($cfg["path"]["contenido"]."images/unknown.jpg", $maxsize, $maxsize, false, false, 50);	
					if ($value !== false)
					{
						return $value;
					} else {
						return uplGetFileIcon($file);
					}
				}
				break;
		default:
				return uplGetFileIcon ($file);
				break;
		
	}
}