Galera, meu problema é bem simples (to passando mal com isso mano kk), quado faço o upload da imagem a partir do form, funciona tudo certo, todos os dados vao para o BD, o problema é o campo imagem, no banco, ao inves de salvar o nome, está salvando o array, sei que tem a função explode para capturar o campo name do array, mais nao estou conseguindo fazer essa função funcionar.
controleAvaliacao.php
<?php
require_once 'classes/Avaliacao.php';
require_once 'classes/AvaliacaoDAO.php';
require_once 'classes/Conexao2.php';
$acao = isset($_GET['acao']) ? $_GET['acao'] : $acao;
if($acao === 'inserir') {
$avaliacao = new Avaliacao();
if (!empty($_FILES['imagem']['tmp_name'])) {
$extensao = strtolower(substr($_FILES['imagem']['name'], -4)); //pega a extensão da imagem
$novo_nome = md5(time()) . $extensao; //define o novo nome da imagem
$diretorio = "assets/img/cliente"; //define o diretório para onde enviaremos a imagem
if(move_uploaded_file($_FILES['imagem']['tmp_name'], $diretorio.$novo_nome)) {
$nomeFinal = explode($_FILES['imagem']);
$avaliacao->__set('imagem', $nomeFinal);
} //efetua o upload
}
$avaliacao->__set('cliente', $_POST['cliente']);
$avaliacao->__set('empresa', $_POST['empresa']);
$avaliacao->__set('avaliacao', $_POST['avaliacao']);
$avaliacao->__set('data', $_POST['data']);
$conexao = new Conexao();
$avaliacaoDAO = new AvaliacaoDAO($conexao, $avaliacao);
$avaliacaoDAO->inserir();
echo '<pre>';
print_r($_FILES);
echo '</pre>';
// header ('Location: avaliacao?inclusaoAvaliacao=1');
}
acabei de resoulver esse problema, agora o que esta acontecendo agora é que no bd ta salvando com o nome original da foto, ja no diretório especificado salva com nome certo (usando o md5(time())), ai quando a imagem é resgatado no front end, ela não aparece, porque ela usa o nome do bd.
<?php
require_once 'classes/Avaliacao.php';
require_once 'classes/AvaliacaoDAO.php';
require_once 'classes/Conexao2.php';
$acao = isset($_GET['acao']) ? $_GET['acao'] : $acao;
if($acao === 'inserir') {
$avaliacao = new Avaliacao();
if (!empty($_FILES['imagem']['tmp_name'])) {
$imagem = explode('.', $_FILES['imagem']['name']);
$extensao = strtolower(substr($_FILES['imagem']['name'], -4)); //pega a extensão da imagem
$novo_nome = md5(time()) . $extensao; //define o novo nome da imagem
$diretorio = "assets/img/cliente/"; //define o diretório para onde enviaremos a imagem
$nome_final = $imagem[0] . date('YmdHmi') . $extensao;
if(move_uploaded_file($_FILES['imagem']['tmp_name'], $diretorio.$novo_nome)) {
$avaliacao->__set('imagem', $nome_final);
} //efetua o upload
}
$avaliacao->__set('cliente', $_POST['cliente']);
$avaliacao->__set('empresa', $_POST['empresa']);
$avaliacao->__set('avaliacao', $_POST['avaliacao']);
$avaliacao->__set('data', $_POST['data']);
$conexao = new Conexao();
$avaliacaoDAO = new AvaliacaoDAO($conexao, $avaliacao);
$avaliacaoDAO->inserir();
// echo '<pre>';
// print_r($_FILES);
// echo '</pre>';
header ('Location: avaliacao?inclusaoAvaliacao=1');
}