Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae galera! Estou fazendo um sistema onde vou fazer um upload de imagem onde a imagem será renomeada com md5 e uniq key. O problema é que isso é feito por uma função e preciso inserir esse nome no banco, só que não consegui achar uma variável que contenha o nome do arquivo depois de modificado para enviar pro banco. Essa função é muito boa com redimensionamento incluso, se conseguirmos essa solução pode ajudar muita gente. Valeu
valida.php
else if($_GET['cmd'] == 'vereadores_cad') {
$caminho="../imagens/vereadores/";
$arq1 = $_FILES[arquivo];
$largura = "300";
$up = Redimensionar($arq1, $largura, $caminho);
$sql = "INSERT INTO vereadores (foto, nome, email, partido, descricao) VALUES ('".?????."', '".$_POST["nome"]."', '".$_POST["email"]."', '".$_POST["partido"]."', '".$_POST["descricao"]."')";
$query = mysql_query($sql);
if ($query == true) {
header("Location: home.php?pag=vereadores&msg=sucesso");
}else{
header("Location: home.php?pag=vereadores&msg=erro");
}
}
funcoes.php
function Redimensionar($imagem, $largura, $pasta){
$name = md5(uniqid(rand(),true));
if ($imagem['type']=="image/jpeg"){
$img = imagecreatefromjpeg($imagem['tmp_name']);
}else if ($imagem['type']=="image/gif"){
$img = imagecreatefromgif($imagem['tmp_name']);
}else if ($imagem['type']=="image/png"){
$img = imagecreatefrompng($imagem['tmp_name']);
}
$x = imagesx($img);
$y = imagesy($img);
$autura = ($largura * $y)/$x;
$nova = imagecreatetruecolor($largura, $autura);
imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $autura, $x, $y);
if ($imagem['type']=="image/jpeg"){
$local="$pasta/$name".".jpg";
imagejpeg($nova, $local);
}else if ($imagem['type']=="image/gif"){
$local="$pasta/$name".".gif";
imagejpeg($nova, $local);
}else if ($imagem['type']=="image/png"){
$local="$pasta/$name".".png";
imagejpeg($nova, $local);
}
imagedestroy($img);
imagedestroy($nova);
return $local;
}Resolvido: Deveria usar a variável "$up". Moleza né ahahahaha
Por que Du? Eu peguei uma função e acrescentei algumas coisas essa foi uma delas.
:) Dica!
Caso cada imagem seja redirecionada para pastas diferentes não tem a necessidade de salvar no banco imagens/d3216d8d4de3.jpg, noticias/d3216d8d4de3.jpg etc, como está fazendo sua função atual e sim só o nome da imagem d3216d8d4de3.jpg.
Pois no caso de algum problema que futuramente precise mudar o nome da pasta, você terá que mudar registro por registro...
Essa tua não tem suporte pra GIF e PNG né?
>
Quando preciso redimensionar alguma imagem, utilizo esta do macielcr7
http://forum.imasters.com.br/topic/385643-upload-de-fotos-com-resize-e-rename/
if(isset($_POST['acao']) && $_POST['acao'] == 'cadastrar'){
$foto = $_FILES['foto'];
if($foto['type'] == 'image/jpeg'){
require("funcao_upload.php");
$name = md5(uniqid(rand(), true)).".jpg";
Redimensionar($foto, $name, 150, "images");
}
}
funcao_upload.php
function Redimensionar($imagem, $name, $largura, $pasta){
$img = imagecreatefromjpeg($imagem['tmp_name']);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura * $y)/$x;
$nova = imagecreatetruecolor($largura, $altura);
imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($nova, "$pasta/$name");
imagedestroy($img);
imagedestroy($nova);
return $name;
}
Quando preciso redimensionar alguma imagem, utilizo esta do macielcr7
http://forum.imasters.com.br/topic/385643-upload-de-fotos-com-resize-e-rename/
funcao_upload.php