Gostaria de uma ajuda, eu tenho um codigo para upload de imagens, mas o problema que o codigo ta funcionando mas na hora de gravar o endereço da imagem no banco ele ta tirando os "DIRECTORY SEPARADOR" ou "/" ai na hora de resgata vira "cacá" e não condigo, gostaria muito de uma ajuda para revisar o codigo, desde de já agradeço.
Deixando claro que o "DS" e outros como "UPLOAD_DIR" são definições que fiz das pasta onde vão salvar, ai vai o codigo, espero que um bom espirito me ajude.
Pergunta
Wilson Tamarozzi Jr.
I ai galera,
Gostaria de uma ajuda, eu tenho um codigo para upload de imagens, mas o problema que o codigo ta funcionando mas na hora de gravar o endereço da imagem no banco ele ta tirando os "DIRECTORY SEPARADOR" ou "/" ai na hora de resgata vira "cacá" e não condigo, gostaria muito de uma ajuda para revisar o codigo, desde de já agradeço.
Deixando claro que o "DS" e outros como "UPLOAD_DIR" são definições que fiz das pasta onde vão salvar, ai vai o codigo, espero que um bom espirito me ajude.
public static function insere()
{
//definições da imagem
$_UP['endereco'] = UPLOAD_DIR . DS . IMAGEM_DIR . DS. $_POST['img_categoria'] .DS;
$_UP['tamanho'] = 1024 * 1024 * 1024 * 1024 * 2; //maxímo 4MB
$_UP['extensoes'] = array('jpg','jpeg','gif','bmp','png','tiff','raw','svg');
$_UP['renomeia'] = IMG_RENOMEIA;
//pega as informações originais da imagem
$img_nome_original = $_FILES['img_arquivo']['name'];
$img_tamanho_original = $_FILES['img_arquivo']['size'];
$img_extensao_original = $_FILES['img_arquivo']['type'];
//possíveis erros
$_UP['erros'][0] = 'Não houve erro';
$_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP';
$_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML';
$_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
$_UP['erros'][4] = 'Não foi feito o upload do arquivo';
//verifica se houve erro
if ($_FILES['img_arquivo']['error'] != 0)
{
return false;
}
else
{
//recebe a extensão original da imagem em letra minuscula
$img_nome = $_FILES['img_arquivo']['name'];
$img_separador = explode('.',$img_nome);
$extensao = strtolower(end($img_separador));
//$extensao = strtolower(end(explode('.',$_FILES['img_arquivo']['name'])));
//verifica extensão
if (array_search($extensao, $_UP['extensoes']) === false)
{
return false;
}
//verifica o tamanho
else if ($_UP['tamanho'] < $_FILES['img_arquivo']['size'])
{
return false;
}
//verifica se ira renomar
else if ($_UP['renomeia'] === true)
{
$img_nome = time().'.'.$extensao;
}
//verifica se a imagem existe na pasta para coloca (0),(1),(2) ...
for ($incremento = 0; file_exists(UPLOAD_DIR .DS. IMAGEM_DIR .DS. $_POST['img_categoria'] .DS. $img_nome) ; $incremento++)
{
$img_nome = $img_separador[0].'('.$incremento.').'.$extensao;
}
//move o arquivo para pasta
if (move_uploaded_file($_FILES['img_arquivo']['tmp_name'], $_UP['endereco'] . $img_nome))
{
$sql_insere = "INSERT INTO ".TB_IMAGEM." (
`imagem_codigo` ,
`usuario_codigo` ,
`imagem_nome_original` ,
`imagem_tamanho_original` ,
`imagem_extensao_original` ,
`imagem_nome` ,
`imagem_titulo` ,
`imagem_categoria` ,
`imagem_menssagem` ,
`imagem_endereco`
)
VALUES (
NULL ,
'1',
'".$img_nome_original."',
'".$img_tamanho_original."',
'".$img_extensao_original."',
'".$img_nome."',
'".$_POST['img_titulo']."',
'".$_POST['img_categoria']."',
'".$_POST['img_menssagem']."',
'".$_UP['extensao'].$img_nome."'
)";
$instancia = new manipula_sql();
$instancia -> insere($sql_insere);
if ($instancia -> content === true)
{
return true;
}
else
{
return false;
}
}
else
{
//correu tudo certo, mas houve problema na hora de mover a imagem
return false;
}
}
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.