Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Gostaria de pedir a ajuda de vcs com o script que encontrei na net para fazer upload de imagem.
O script ele faz apenas o upload da imagem e salva em uma pasta, eu gostaria de implementar no script uma função para gerar um thumb e salvar em outro pasta....
Alguem pode me ajudar ?
Desde já agradeço a todos !!!
Segue o script:
<?php
/**
* Upload de Imagens com Segurança
*
* @author Alfred Reinold Baudisch
* @email alfred_baudisch@hotmail.com
* @date Jan 09, 2004
* @changes Jan 14, 2004 - v2.0
*/
// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
$config = array();// Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
// Função Recursiva
function nome($extensao)
{
global $config;
// Gera um nome único para a imagem
$temp = substr(md5(uniqid(time())), 0, 10);
$imagem_nome = $temp . "." . $extensao;
// Verifica se o arquivo já existe, caso positivo, chama essa função novamente
if(file_exists($config["diretorio"] . $imagem_nome))
{
$imagem_nome = nome($extensao);
}
return $imagem_nome;
}
if($arquivo) $erro = array();
// Verifica o mime-type do arquivo para ver se é de imagem.
// Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
//
// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
// $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
//
// Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
// para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo";
}
else
{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"])
{
$erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo";
}
// Para verificar as dimensões da imagem
$tamanhos = getimagesize($arquivo["tmp_name"]);
// Verifica largura
if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
}
}
if(!sizeof($erro))
{
// Pega extensão do arquivo, o indice 1 do array conterá a extensão
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
// Gera nome único para a imagem
$imagem_nome = nome($ext[1]);
// Caminho de onde a imagem ficará
$imagem_dir = $config["diretorio"] . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
}
}
?>
<html>
<head>
<title>Enviar Foto</title>
<style type="text/css"></style>
</head>
<body bgcolor=black link=red vlink=red alink=red>
<center><font size=4>Envio de Foto</font><BR> echo "<img src=\"" . $imagem_dir . "\" width=200 height=200 border=0><BR><BR>Sua foto foi enviada com sucesso!<br>Deseja enviar outra? <a href=\"foto.php\">Clique aqui</a>";
}?>
<form action="<?echo $PHP_SELF?>" method=post ENCTYPE="multipart/form-data">
Envie sua foto em formato gif, jpg, bmp ou png.<BR>
A imagem não deve ter mais que <? echo $config["tamanho"] ?> bytes e deve ter <? echo $config["largura"] . "x" . $config["altura"] ?> pixels.<BR>
<table border=0 cellpadding=2 cellspacing=1 align=center> echo "<tr><td colspan=2 bgcolor=red><B><U>Ocorreu(am) o(s) seguinte(s) erro(s):</u><BR>";
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "</B></td></tr>";
}
?>
<tr><td align=center>Enviar Foto: <input type=file size=30 name=foto></td></tr>
<tr><td align=center><input type=submit value="Ok!"></td></tr>
</table>
</form>
<? } ?>
<br><font face=arial size=1 color=white>Programado por Alfred R. Baudisch - 14/01/2004. Versão 1.2</font>
</body>
</html>Depende das extensões disponíveis no teu servidor.
Seria a para trabalhar com GD né !!??
O PHP roda essa extensão !!!!
Pode me ajudar ??
Obrigado
Bom, já são 23:40 hahhha
to meio cansado...
o tamanho do script aí já me desanimou...
nem vou tentar nada hahha
mas isso aqui é perfeito pra você....
>
Bom, já são 23:40 hahhha
to meio cansado...
o tamanho do script aí já me desanimou...
nem vou tentar nada hahha
mas isso aqui é perfeito pra você....
Casiano Oliver,
Obrigado pelo artigo, porem eu ja li esse artigo.... No script do artigo ele varre um diretório e vai gerando as Thumbs, eu queria trabalhar de uma outroa forma.
Na hora do usuário fazer o upload na hora do envio já é gerado o thumbs, em seguida a mensagem indicando que o upload foi realizado com sucesso e exibindo a imagem (thumb) !!!
Alguem poderia me ajudar, não quero que ninguem me de o code pronto, eu quero que a dica de como fazer, tipo eu enteder a logica.. Falta de vontade pra aprender é o que não falta...
Desde já agradeço e bom final de semana para todos !!!
Depende das extensões disponíveis no teu servidor.