Visa ett inlägg
Oläst 2007-08-29, 00:18 #7
haavi haavi är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2007
Inlägg: 3
haavi haavi är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2007
Inlägg: 3
Hej vidir,
Har du inte GD Library installerat då? Det ska tydligen följa med PHPs grundinstallation sedan 4.3.0 så det har du väl ändå? För att testa hur stora filerna som laddas upp kan du bara kontrollera att $_FILES['file']['size'] inte överskrider en viss storlek. Här är ett exempel:

Kod:
$max_file_size = 10485760;

if (isset($_POST['submit']) && $_FILES['image']['error'] == 0) {

$file_size = $_FILES['image']['size'];

if ($file_size > $max_file_size) {
	$error['filesize'] = 'Uploaded file size is more than 10MB';
}

if (count($error) == 0) {

/* kod för att ladda upp fil här */

} else {

/* för stor fil, visa felmeddelande här */

}
Här kommer även en funktion jag använt för att ändra dimensionerna på bilder. Parametern $name är namnet på den fil på servern du vill ändra storleken på, $target är namnet på den nya bilden med ändrade dimensioner och $new_w respektive $new_h är den bredd och höjd du vill att den nya bilden ska få i pixlar. Observera även att funktionen behåller bildens proportioner så det är förstås inte säkert att den genererade bilden får dessa exakta dimensioner både i bredd och höjd.

Kod:
	function resizeImage($name, $target, $new_w, $new_h) {
	
 $system = explode(".", $name);
	
 if (preg_match("/jpg|jpeg/",$system[1])) { $src_img = imagecreatefromjpeg($name); }
 if (preg_match("/png/",$system[1])) {$src_img = imagecreatefrompng($name); }
 
 $old_x = imageSX($src_img);
 $old_y = imageSY($src_img);
 
 if ($old_x > $old_y) {
 	$thumb_w = $new_w;
 	$thumb_h = $old_y*($new_h/$old_x);
 }
 
 if ($old_x < $old_y) {
 	$thumb_w = $old_x*($new_w/$old_y);
 	$thumb_h = $new_h;
 }	
 
 if ($old_x == $old_y) {
 	$thumb_w = $new_w;
 	$thumb_h = $new_h;
 }
 
 $dst_img = ImageCreateTrueColor($thumb_w,$thumb_h);
 imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); 

 if (preg_match("/png/",$system[1])) {
 	imagepng($dst_img, $target); 
 } else {
 	imagejpeg($dst_img, $target); 
 }
 
 imagedestroy($dst_img); 
 imagedestroy($src_img); 
	}
haavi är inte uppkopplad   Svara med citatSvara med citat