Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou usando esse script pra validar e pra salvar uma imagem no banco de dados. Esta funcionando como eu quero o unico problema, até curiosidade, é que quando tento fazer upload de uma imagem de 2 mg ou mais ele nao consegue reconhecer o mime type da imagem.
Alguem pode dizer o porque disso?
if(isset($_POST['upload'])){
$erro = $config = array();
// Prepara a variável do arquivo
$arquivo = isset($_FILES["imagem"]) ? $_FILES["imagem"] : FALSE;
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 10024;
// Largura máxima (pixels)
$config["largura"] = 120;
// Altura máxima (pixels)
$config["altura"] = 90;
$get=getimagesize($arquivo['tmp_name']);
$smarty->assign('tipo',$get["mime"]);
// Verifica se o mime-type do arquivo é de imagem
if(!preg_match("/^image\/(jpeg|jpg|jpeg|png|gif)$/i", $get["mime"])){
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,
gif ou png. Envie outro arquivo";
}else{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"]){
$erro[] = "Arquivo 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 deve
ser " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] != $config["altura"])
{
$erro[] = "Altura da imagem deve
ser " . $config["altura"] . " pixels";
}
}
// Imprime as mensagens de erro
if(sizeof($erro)){
$smarty->assign('erros',$erro);
}else{ //verificação ok, executa o upload
$fp = fopen($imagem,"rb");
$imagem_temp = fread($fp,filesize($imagem));
fclose($fp);
$imagem_temp = addslashes($imagem_temp);
$sql = mysql_query("INSERT INTO imagens(imagem,tipo_imagem,bytes_imagem,dados_imagem, nome, link)
VALUES('$imagem_name','$imagem_type','$imagem_size','$imagem_temp', '$nome', '$link')")
or die("Erro no SQL: ".mysql_error());
$smarty->assign('imagemok','Imagem cadastrada com sucesso!');
}
}Carregando comentários...