webForumDet fria alternativet

Vad ska man tänka på gällande uppladdning av medlemsbilder?

PHP

3 svar · 346 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#1

Hej!

Om man vill låta medlemmar i ett community ladda upp en bild till sin profil, vilket system är att föredra?

Just nu har jag satt stränga begränsningar gällandes filstorlek, format och bildmått. (10kb, jpg/gif och 60x80px)

Det är ju trevligt att ha det så kontrollerat, men å andra sidan så sätter man stora krav på användarna för att de ska få till sina bilder på det viset. Dessutom saknas då möjligheten att förstora bilden om man vill ha en sådan funktion också.

Det bästa vore kanske ett system där användaren får beskära den uppladdade bilden själv, men det känns som en något för stor funktion att bygga, samt att jag har haft erfarenhet av att såna grejer bara har funkat i vissa läsare och nästan inte alls på mac. Någon som vet ett liknande script som man kan få pilla lite på?

Om man å andra sidan bara höjer alla värden på det som tillåts till låt säga: 30kb, jpg/gif (och max 400x300px om nu ett sånt maxmått behövs då maxfilstorleken är satt) så kommer man att tappa lite kontroll över att bilderna inte kläms ihop när de ska visas i sitt lilla format.

Vad rekommenderar ni för system?

Taxi!

Medlem sedan juli 20033 147 inlägg
#2

Hur många medlemmar har du? Har du tillräckligt med utrymme om vi säger att 50% av medlemmarna laddar upp en bild som är 30kb stor?
Jag hade isåfall satsat på det, och skapat thumbnails vid visning av bilden. Alternativt hade jag låtit de ladda upp en bild, oberoende av storlek och ändra storleken på den direkt vid uppladdning.

Medlem sedan maj 2005562 inlägg
#3

bassebhu skrev:

Om man å andra sidan bara höjer alla värden på det som tillåts till låt säga: 30kb, jpg/gif (och max 400x300px om nu ett sånt maxmått behövs då maxfilstorleken är satt) så kommer man att tappa lite kontroll över att bilderna inte kläms ihop när de ska visas i sitt lilla format.

du kan ju beskära de små bilderna...

brukar använda mig av följande till thumbs

function createThumb($file) {
	$bildbredd = 120; $bildhojd = 120; // önskad storlek

	$filetypes = array("jpg", "jpeg", "gif", "bmp", "png"); // tillåtna filtyper
	$filtyper = implode("|", $filetypes);
	
	// beräkna beskärning o skalning av bilden
	list($width, $height) = getimagesize($file);
	$forhallande = $width / $height; $gw = $width; $gh = $height;
	($forhallande >= 1) ? $width /= $forhallande : $height *= $forhallande;
	$sx = ($gw == $width) ? 0 : ($gw-$width)/2;
	$sy = ($gh == $height) ? 0 : ($gh-$height)/2;

	if (preg_match("/\.($filtyper)$/i", $file, $matches)) { // läs in filen beroende på filtyp
		switch(strtolower($matches[1])) {
			case 'jpeg':
			case 'jpg':
				$img = imageCreateFromJPEG($filen);
			break;	

			case 'gif':
				$img = imageCreateFromGIF($filen);
			break;
			
			case 'png':
				$img = imageCreateFromPNG($filen);
			break;	

			default:
				die ("Unexpected error occured");
			break;
		}
		$thumb = imagecreatetruecolor($bildbredd, $bildhojd);
		imagecopyresized($thumb, $img, 0, 0, $sx, $sy, $bildbredd, $bildhojd, $width, $height);
		imagepng($thumb, ".thumbs/" . $file); // spara filen i .thumbs mappen
		return true;
	}
	else 
		die ("Unexpexted error occured");
}

beskärningen är iofs inte så flexibel utan tar mitten helatiden

Medlem sedan dec. 1999286 inlägg
#4

Om du vill underlätta för användarna så att de kan ladda upp bilder med valfri storlek bör du kolla på Crop Canvas:
http://php.amnuts.com/index.php?do=view&id=12

Scriptet är relativt lätt att sätta in i en befintlig site. Det erbjuder en hel del intressanta konfigurationsmöjligheter.

Kostar 25 USD för kommersiell användning.

433 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
306 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)