Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
oi rapazes
tenho o seguinte código e está funcionando perfeitamente, porem quero redimencionar e reduzir o tamanho da foto:
ex: quando o usuário enviar uma foto de 2MB, quero reduzir para 600KB e a dimessão para 700 X 500 e verificar se o arquivo é realmente uma foto.
como fazer isso no meu código?
obrigada :thumbsup:
vejam
<?php
require_once('Connections/conexao.php');
// recebendo imagem 01
$imagem = $_FILES['FOTO01']['name'];
$tmpimagem = $_FILES['FOTO01']['tmp_name'];
$destino = "imagens/$id".$imagem;
$FT = $id.$imagem;
// recebendo imagem 02
$imagem2 = $_FILES['FOTO02']['name'];
$tmpimagem2 = $_FILES['FOTO02']['tmp_name'];
$destino2 = "imagens/$id".$imagem2;
$FT2 = $id.$imagem2;
// recebendo imagem 03
$imagem3 = $_FILES['FOTO03']['name'];
$tmpimagem3 = $_FILES['FOTO03']['tmp_name'];
$destino3 = "imagens/$id".$imagem3;
$FT3 = $id.$imagem3;
// recebendo imagem 04
$imagem4 = $_FILES['FOTO04']['name'];
$tmpimagem4 = $_FILES['FOTO04']['tmp_name'];
$destino4 = "imagens/$id".$imagem4;
$FT4 = $id.$imagem4;
if (isset ($_POST['enviar'])){
move_uploaded_file($tmpimagem, $destino);
move_uploaded_file($tmpimagem2, $destino2);
move_uploaded_file($tmpimagem3, $destino3);
move_uploaded_file($tmpimagem4, $destino4);
mysql_select_db($database_conexao, $conexao);
$insertSQL = mysql_query ("aqui meu insert"); e ai por diante
echo ('cadastro realizado com sucesso!');
mysql_close($conexao); }
?>
beijos a todos
Bruna
uma classe tem um objetivo ,e nao lê deve misturar ao estruturado, quando você estudar pop vai ver isto
pra redimensionamento, leia o manual , ele .eh seu melhor amigo, o cara de cima nao conseguiu, pq nao fez o trabalho dele, ler o manual
http://br2.php.net/manual/pt_BR/function.imagecopyresampled.php
veja o exemplo da pagina acima....
ok igor,
só preciso de mais uma ajudinha;
veja: quero que a variável $FT pegue o novo nome da foto
$img = new Upload($_FILES['FOTO']);
if ( $img->uploaded )
{
$img->file_new_name_body = uniqid(rand());
$img->image_resize = true;
$img->image_ratio_y = true;
$img->image_x = 600;
$img->Process('./imagens/cliente');
$FT = // quero que esta variável pegue o nome da nova foto
if( $img->processed ) {
echo " Sucesso! ";
} else {
echo "error : " . $img->error;
}
}
mysql_select_db($database_conexao, $conexao);
$query = ("INSERT INTO tb_cliente (FOTO) VALUES ( '$FT')"); //or die (mysql_query()
$insirir = mysql_query($query, $conexao);
echo ('CADASTRO REALIZADO COM SUCESSO!');
mysql_close($conexao);
bjs
BRUNA
$FT = $img->file_src_name;
Chame isto antes do process...
oi Eserra,
assim só pega o nome e extensão da imagem original
fiz assim;
$img = new Upload($_FILES['FOTO']);
if ( $img->uploaded )
{
$img->file_new_name_body = uniqid(rand());
$img->image_resize = true;
$img->image_ratio_y = true;
$img->image_x = 600;
$FT = $img->file_new_name_body = uniqid(rand());
$img->Process('./imagens/cliente');
if( $img->processed ) {
echo " Sucesso! ";
} else {
echo "error : " . $img->error;
}
}
só que não pego a extensão, eu preciso da extensão para gravar no banco.
outra coisa quando a imagem é muito grande não cadastra nem redimensiona já alterei a classe e nada.
bjs
Bruna
a classe está nesse link
https://docs.google.com/open?id=0B-TMJZF6WnR9aGlMV2pQYlNTYmF6U25uMTd3Z3Jjdw
se algem puder me ajudar
priciso que:
o tamanho maximo da foto seja de 4 MB
converter foto de outros formatos para jpegsó não sei onde auterar
at.
Bruna
Antes de mais nada, quer lidar com PHP? Aprenda a ler a documentação, no link que você me passou tem todos os métodos que essa classe permite, se você olhar lá verá que file_src_name_ext retorna a extensão.
Sobre o problema com imagens grandes, existe um limite, veja com o seu host qual o limite máximo para upload.
Resolvido
BJS
BRUNA
O negócio é usar classe pronta!
Quebrei minha cabeça tentando achar uma forma e não deu certo nunca! Nem os tutoriais por aí deram certo. Daí achei um classe pronta e adaptei algumas coisinhas.
O tutorial e o link pra download estão AQUI.
Estou usando e está uma beleza, com inserção de marca d'água e tudo mais. :thumbsup: