Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
achei uma função na internet só que ela só faz upload de JPEG.
1 - Como fazer com que ela faça o upload de GIF, PNG e BMP ?
2 - Como fazer para a imagem que foi redimensionada ser sempre JPEG ?
3 - Como salvar o caminho da imagem no banco MySQL ?
abraço
Segue o código
<?
require_once("funcoes.php");//funções que geram os arquivos nos tamanhos grande e thumb
if($_FILES[arquivo]){
echo "<h1>Resultado do upload:</h1>";
$caminho="caminho das imagens no servidor";
$arq1='nome do arquivo no tamanho grande';
$arq2='nome do arquivo no tamanho thumb';
$path = $caminho.$arq1; //Nome do arquivo grande no servidor com caminho
$pathumb = $caminho.$arq2; //Nome do arquivo thumb no servidor com caminho
$up = uploadJPEG($_FILES[arquivo],$path); // Para o 3º e 4º parametros usam valores padrão
$upthumb = uploadJPEGthmb($_FILES[arquivo],$pathumb); // Para o 3º e 4º usam valores padrão
//primeiro upload, o arquivo grande!
switch($up){
case 1:
echo "Upload bem sucedido!<br><br><img src='$path'><br><br>";
echo "Se você já fez um upload antes e a foto não for atualizada tecle F5<br><br>";
break;
case 2:
echo "Arquivo não enviado!";
break;
case 3:
echo "O arquivo não é do tipo JPEG!";
break;
case 4:
echo "O arquivo é maior do que o permitido!";
break;
case 5:
echo "Ocorreu algum erro durante o redimensionamento!";
}
// segundo upload, arquivo pequeno
switch($upthumb){
case 1:
echo "Upload bem sucedido!<br><br><img src='$pathumb'><br><br>";
echo "Se você já fez um upload antes e a foto não for atualizada tecle F5<br><br>";
break;
case 2:
echo "Arquivo não enviado!";
break;
case 3:
echo "O arquivo não é do tipo JPEG!";
break;
case 4:
echo "O arquivo é maior do que o permitido!";
break;
case 5:
echo "Ocorreu algum erro durante o redimensionamento!";
}
}// Arquivo funcoes.php
<?
function uploadJPEG($file,$path,$maxdim=580,$maxsize=50072000){
//580 é o tamanho da imagem em px
//maxsize é o tamanho em bytes
if(is_uploaded_file($file[tmp_name])){
$mime = $file[type];
if(($mime == "image/jpeg")||($mime == "image/pjpeg")){
if($file[size] < $maxsize){
list($larg_orig, $alt_orig) = @getimagesize($file[tmp_name]);
$razao_orig = $larg_orig/$alt_orig;
if($razao_orig < 1){
$alt = $maxdim/$razao_orig;
$larg = $maxdim;
}else{
$alt = $maxdim/$razao_orig;
$larg = $maxdim;
}
$imagem_nova = imagecreatetruecolor($larg, $alt);
$imagem = @imagecreatefromjpeg($file[tmp_name]);
@imagecopyresampled($imagem_nova, $imagem, 0, 0, 0, 0, $larg, $alt, $larg_orig, $alt_orig);
return (@imagejpeg($imagem_nova, $path)) ? 1 : 5;
}
return 4;
}
return 3;
}
return 2;
}
function uploadJPEGthmb($file,$path,$maxdim=90,$maxsize=50072000){ $mime = $file[type];
if(($mime == "image/jpeg")||($mime == "image/pjpeg")){
if($file[size] < $maxsize){
list($larg_orig, $alt_orig) = @getimagesize($file[tmp_name]);
$razao_orig = $larg_orig/$alt_orig;
if($razao_orig < 1){
$alt = $maxdim/$razao_orig;
$larg = $maxdim;
}else{
$alt = $maxdim/$razao_orig;
$larg = $maxdim;
}
$imagem_nova = imagecreatetruecolor($larg, $alt);
$imagem = @imagecreatefromjpeg($file[tmp_name]);
@imagecopyresampled($imagem_nova, $imagem, 0, 0, 0, 0, $larg, $alt, $larg_orig, $alt_orig);
return (@imagejpeg($imagem_nova, $path)) ? 1 : 5;
}
return 4;
}
return 3;
}
return 2;
}
?>Carregando comentários...