19. januar 2007 - 13:47
Der er
1 kommentar og
1 løsning
Hjælp til resize af billede
Hej Eksperter.
Jeg har nedenstående script (skrevet i kommentar nedenunder), til at uploade billeder med. Problemet er at jeg gerne vil have billedet _skal_ være 60x60 pixels i højde og bredde.
Jeg har umiddelbart fundet en masse funktioner til at angive MAX størrelsen på billedet, men jeg kan ikke umiddelbart finde nogen der sørger for at billedet altid bliver 60x60 uanset dens tidligere størrelse.
Jeg håber I kan hjælpe mig :) På forhånd tak
19. januar 2007 - 13:48
#1
<?php
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",300000);
define("DESTINATION_FOLDER", "billeder/1/");
define("no_error", "ok.php");
define("yes_error", "fejl.php");
$_accepted_extensions_ = "jpg,png,jpeg,gif";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ = $HTTP_POST_FILES['billede'];
if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['billede']['error'] == 0){
$errStr = "";
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
$imginfo = getimagesize('billeder/1/'.$_name_.'');
$imgwidth = $imginfo[0]; //bredde i pixels
$imgheight = $imginfo[1]; //højde i pixels
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "";
}
if(empty($errStr)){
if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
header("Location: " . no_error);
} else {
header("Location: " . yes_error);
}
} else {
header("Location: " . yes_error);
}
}
?>