[Resolvido] Problema com upload de arquivos muito complicado
Já faz tempo que estou tentando desenvolver esse sistema de upload de imagens, e já vi muitas informações em varios foruns, tem um outro trecho de código que funciona bem a transferencia dos arquivos, mas acima que tem o mesmo código não funciona e me deixa confuso, pois tudo indica que deu certo, somente na prática não acontece nada.
permissões : definidas como 777, ok
formulario enctype="multipart/form-data" : ok
esta mostrando erros: sim, ok.
valor da variavel que recebe a função move_uploaded_file : 1
Código:
// SALVA/EDITA
if(@$_POST['salvar'] == "2"){
if($_POST['produto_id'] == ""){
// SALVANDO
$query = "INSERT INTO produto(CATEGORIA_CATEGORIAID,
PRODUTO_NOME,
PRODUTO_REF,
PRODUTO_DESCRESUMIDA,
PRODUTO_DESCDETALHADA,
PRODUTO_VALOR)
Values(
". $_POST['categoria_id'] .",
'". utf8_decode($_POST['produto_nome']) ."',
'". $_POST['produto_referencia'] ."',
'". utf8_decode($_POST['produto_descresumida']) ."',
'". $_POST['produto_valor'] ."',
'". replace_br(1, $_POST['produto_descdetalhada']) ."')";
$result = mysql_query($query);
// SELECIONANDO ID DO PRODUTO
$query = "SELECT PRODUTOID FROM produto ORDER BY PRODUTOID DESC";
$resultado = mysql_query($query);
$linha = mysql_fetch_array($resultado);
$produto_id = $linha['PRODUTOID'];
// SALVANDO ANEXOS
$arquivo = $_FILES["arquivo"];
$total = 0;
for($i=0; $i<4; $i++){
if($arquivo["name"][$i]){
$total++;
}
}
$erro = $_FILES["arquivo"]["errors"];
for($i=0; $i<$total; $i++){
$tamanho_total += $arquivo['size'][$i];
}
if($tamanho_total < 1048576){
for($i=0; $i<$total; $i++){
$extensao = substr($arquivo["name"][$i], strpos($arquivo["name"][$i], '.') + 1, strlen($arquivo["name"][$i]));
$arquivo_nome = md5(uniqid(time())) .".". $extensao;
$arquivo_dir = "../produtos/arquivos/". $arquivo_nome;
if(move_uploaded_file($arquivo["tmp_name"][$i], $arquivo_dir)){
// SALVANDO NOME DO ARQUIVO
$query_salva = "INSERT INTO PRODUTO_FOTO(PRODUTO_PRODUTOID, PRODUTO_FOTOARQUIVO) Values(". $produto_id .", '". $arquivo_nome ."')";
$result = mysql_query($query_salva);
}else{
header("Location: logout.php");
}
}
}
//echo '<meta HTTP-EQUIV="Refresh" CONTENT="1; URL=?erro=1">';
header("Location: ?erro=2&errop=");
exit;
}else{
// EDITANDO
$query = "UPDATE produto SET CATEGORIA_CATEGORIAID = ". $_POST['categoria_id'] .",
PRODUTO_NOME = '". utf8_decode($_POST['produto_nome']) ."',
PRODUTO_REF = '". $_POST['produto_referencia'] ."',
PRODUTO_DESCRESUMIDA = '". utf8_decode($_POST['produto_descresumida']) ."',
PRODUTO_DESCDETALHADA = '". replace_br(1, $_POST["produto_descdetalhada"]) ."',
PRODUTO_VALOR = '". $_POST['produto_valor'] ."' WHERE PRODUTOID = ". $_POST['produto_id'];
$result = mysql_query($query);
// SALVANDO ANEXOS
$arquivo = $_FILES["arquivo"];
$total = 0;
for($i=0; $i<4; $i++){
if($arquivo["name"][$i]){
$total++;
}
}
for($i=0; $i<$total; $i++){
$tamanho_total += $arquivo['size'][$i];
}
if($tamanho_total < 1048576){
for($i=0; $i<$total; $i++){
$extensao = substr($arquivo["name"][$i], strpos($arquivo["name"][$i], '.') + 1, strlen($arquivo["name"][$i]));
$arquivo_nome = md5(uniqid(time())) .".". $extensao;
$arquivo_dir = "../produtos/arquivos/". $arquivo_nome;
if(move_uploaded_file($arquivo["tmp_name"][$i], $arquivo_dir)){
// SALVANDO NOME DO ARQUIVO
$query_salva = "INSERT INTO produto_foto(PRODUTO_PRODUTOID, PRODUTO_FOTOARQUIVO) Values(". $_POST['produto_id'] .", '". $arquivo_nome ."')";
$result = mysql_query($query_salva);
}else{
header("Location: logout.php");
}
}
}
//echo '<meta HTTP-EQUIV="Refresh" CONTENT="1; URL=?erro=2">';
header("Location: ?erro=2");
exit;
}
}
eu não consigo entender por que quando faz update ele transfere os arquivos e no insert ele finge que transfere mas não acontece nada depois.Discussão (6)
Carregando comentários...