Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xurissoooo

"Ocorreu um erro desconhecido" WTF?!

Recommended Posts

Gente, eu fiz um codigo de upload de imagem, mas as vezes dava um erro, então eu coloquei um else para dar uma mensagem "Ocorreu um erro desconhecido ..."

 

Mas até agora eu não entendi por que ele cai nesse else.

 

Pra testar o upload pode entrar no: www.chinesedragon.algoritimo.com
Login: teste@gmail.com

Senha: 2

 

Clica em: Minha conta

Vai la embaixo e faz Upload de uma foto

 

Acontece que realmente, alguns arquivos de foto não estão dando para dar upload, e eu não estou conseguindo entender o por que, para arrumar.

 

O código é o seguinte:

 

 

<?php
session_start();
include("../config.php");
include("../conexao.php");
if(!isset($_SESSION['validacao'])){
header("Location: ../index.php");
}else{
if(!isset($_SESSION['ongame'])){
header("Location: ../main.php?op=startgame");
}else{




/* Inicio do codigo de Escolha do Avatar */


// Se inseriu o arquivo para enviar
if (isset($_FILES['imagefile']['name'])) {


$tamanho_maximo = 500000;
$name = $_FILES['imagefile']['name'];
$type = $_FILES['imagefile']['type'];
$tamanho = $_FILES['imagefile']['size'];
$file_ext = strrchr($_FILES['imagefile']['name'], '.'); 


// verifica extencao
if( ($file_ext!=".jpg")&&($file_ext!=".jpeg")&&($file_ext!=".png")&&($file_ext!=".gif") ){
$_SESSION['alerts']=5;
header("Location: ../main.php?op=conta");
exit;
}


if($tamanho > $tamanho_maximo) {
$_SESSION['alerts']=6;
header("Location: ../main.php?op=conta");
exit;
}


// monta novo nome da foto
$nome_da_imagem = 'PERFIL' . $_code . $file_ext;
$uploadfile = "../" . $dir_avatar . $nome_da_imagem;


//move arquivo e cadastra no banco de dados
if (move_uploaded_file($_FILES['imagefile']['tmp_name'],$uploadfile)){




//deleta foto anterior se nao for padrao
$sql = $conexao->query("SELECT avatar FROM usuarios WHERE id='$id_usuario'");
while($linha =  $sql->fetch_array()) {
$foto_apagar=$linha['avatar'];


if( ($foto_apagar!="profile-feminino.png")&&($foto_apagar!="profile-masculino.png")&&($foto_apagar!="padrao.png") ){
unlink("../" . $dir_avatar . $foto_apagar);
}


}


// registra no banco de dados o nome para da foto o usuario
$sql = $conexao->prepare("UPDATE usuarios SET avatar = ? WHERE id = ?");
$sql->bind_param('si',$nome_da_imagem,$id_usuario);
$sql->execute();




// tudo ok, manda devolta para pagina da conta de usuario
header("Location: ../main.php?op=conta");
}else{
// ocorreu um erro desconhecido ...
$_SESSION['alerts']=7;
header("Location: ../main.php?op=conta");
}


// fecha chaves que confere se inseriu a foto
}else{
// Se não estiver inserido nenhum arquivo para enviar
$_SESSION['alerts']=4;
header("Location: ../main.php?op=conta");
}
// termina codigo de upload do avatar


}
}
?>

 

A mensagem esta sendo enviada por causa do else na linha 64.
(Próximo ao final do codigo)

}else{// ocorreu um erro desconhecido ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como ocorre um erro ao enviar a imagem, ele busca uma mensagem que está salva na $_SESSION['alerts'];

vá nas configurações do seu php e ative o display_errors ou o error_reporting no php.

 

O erro pode ser por vários motivos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peraí, deixe-me avaliar seu caso de teste e identificarmos os problemas relatados, só um minuto senhor. O suporte agradece sua compreensão e paciência!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.