Jump to content
Sign in to follow this  
jcfr

upload de imagens

Recommended Posts

jcfr

boas, pessoal, mais uma vez recorro aos vossos conhecimentos que ja me ajudaram várias vezes...

queria fazer o upload de uma imagem e fazer uma copia da mesma  mas mais pequena, de forma a que tivesse uma imagem grande e outra pequena mas iguais, ou seja duas fotos da mesma coisa com tamanhos diferentes inserindo a imagem apenas uma vez.

andei a ver na net e encontrei isto:

if (($_FILES['Photo2']['size']>0)){ 

//***************START OF RESIZE IMAGE********************

// The file
$filename = $_FILES['Photo2']['tmp_name'];
$filemini = $filename;
// Set a maximum height and width
$width = 513;
$height = 342;

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

if ($width && ($width_orig < $height_orig)) {
   $width = ($height / $height_orig) * $width_orig;
} else {
   $height = ($width / $width_orig) * $height_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, $filename, 100);

//***************END OF RESIZE IMAGE********************

//RENAME PHOTO AND MOVE TO PROPER FOLDER
$id=rand(00000,99999);
//$id = "1";  //if multiple photos need to be named 1,2,3 etc
    
$extension = strrchr($_FILES['Photo2']['name'],'.'); 
$extension = strtolower($extension);

$save_path = 'img/'; 
    
$NewPhotoName = $id . $extension;

$filenamedois = $save_path . $id . $extension;

move_uploaded_file($_FILES['Photo2']['tmp_name'],$filenamedois);


}else{
	$filenamedois="";
}

isto faz o upload da imagem para a pasta correcta mudando o tamanho e o nome tal como eu pretendia.

tentei adaptar de forma a que carregasse a mesma imagem duas vezes com tamanhos diferente:

//////////////////////////////////////////////////////////////////////imagem 2
if (($_FILES['Photo2']['size']>0)){ 

//***************START OF RESIZE IMAGE********************

// The file
$filename = $_FILES['Photo2']['tmp_name'];
$filenamemini = $_FILES['Photo2']['tmp_name'];

// Set a maximum height and width
$width = 513;
$height = 342;
$widthmini = 105;
$heightmini = 78;
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);
list($width_origmini, $height_origmini) = getimagesize($filenamemini);

if ($width && ($width_orig < $height_orig)) {
   $width = ($height / $height_orig) * $width_orig;
} else {
   $height = ($width / $width_orig) * $height_orig;
}
if ($widthmini && ($width_origmini < $height_origmini)) {
   $widthmini = ($heightmini / $height_origmini) * $width_origmini;
} else {
   $heightmini = ($widthmini / $width_origmini) * $height_origmini;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
$image_pmini = imagecreatetruecolor($widthmini, $heightmini);
$image = imagecreatefromjpeg($filename);
$imagemini = imagecreatefromjpeg($filenamemini);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagecopyresampled($image_pmini, $imagemini, 0, 0, 0, 0, $widthmini, $heightmini, $width_origmini, $height_origmini);

// Output
imagejpeg($image_p, $filename, 100);
imagejpeg($image_pmini, $filenamemini, 100);

//***************END OF RESIZE IMAGE********************

//RENAME PHOTO AND MOVE TO PROPER FOLDER
$id=rand(00000,99999);
$idmini=rand(00000,99999);
//$id = "1";  //if multiple photos need to be named 1,2,3 etc
    
$extension = strrchr($_FILES['Photo2']['name'],'.'); 
$extensionmini = strrchr($_FILES['Photo2']['name'],'.'); 
$extension = strtolower($extension);
$extensionmini = strtolower($extensionmini);

$save_path = 'img/'; 
$save_pathmini = 'img/minis/';
    
$NewPhotoName = $id . $extension;
$NewPhotoNamemini = $idmini . $extensionmini;

$filenamedois = $save_path . $id . $extension;
$filenamedoismini = $save_pathmini . $idmini . $extensionmini;

move_uploaded_file($_FILES['Photo2']['tmp_name'],$filenamedois);
move_uploaded_file($_FILES['Photo2']['tmp_name'],$filenamedoismini);


}else{
	$filenamedois="";
	$filenamedoismini="";
}

estou a guardar o caminho do ficheiro numa base de dados, o caminho das duas é gerado e guardado, tanto da mini como da imagem normal, mas apenas é criada a imagem normal (filenamedois)...

alguem me sabe dizer porque ou como resolver o problema?

desde já muito obrigado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.