Ir para conteúdo

POWERED BY:

Arquivado

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

bdexterholland

[Resolvido] Erro com upload de arquivos

Recommended Posts

Olá a todos!

 

procurei em vários sites, lí várias coisas no php.net mas não estou conseguindo descobrir o porque que o isset($_POST['edt_arquivo'] não retorna true!

 

abaixo segue o source, tô na esperança que alguém diga! seu erro é .... mas apresentando uma solução [:D]

 

<?php

session_name('CarangolaKarate');
session_start();
if (!(isset($_SESSION['akc_Usuario'])))
header("Location: ./index.php");

include_once('./includes/functions.php');

if (isset($_POST['edt_legenda']))
{
echo('eu tô aqui!');
if (is_file($_POST['edt_foto']))
{
if ($_POST['edt_legenda'])
{
$_SESSION['Error'] = Upload($_FILES['edt_foto'], './fotos');
}
else
{
$_SESSION['Error'] = 304;
} 
}
else
{
$_SESSION['Error'] = 301;
}
}
?>

<html>
<head>
<title>Associação de Karatê de Carangola</title>

<script type="text/javascript" src="./javascript/codes.js"></script>
</head>
<body>
<link href="./css/index.css" rel="stylesheet" type="text/css">
<link href="./css/administracao.css" rel="stylesheet" type="text/css">
<div id="tudo">
<?php include("./top.php"); ?>
<div id="corpo">
<div>
<?php 
include_once('./includes/tinymce.php'); 
?>
</div>
<link href="./css/login.css" rel="stylesheet" type="text/css">
<div class="titulo">Adicionar fotos</div>
<?php
include_once('./includes/check_error.php');
?>
<form action="./adiciona_foto.php" method="post" enctype="multipart/form-data" name="frm_adiciona_foto" id="frm_adiciona_foto">
<fieldset> 
<legend>Selecione a foto a adicionar</legend>
<div class="legenda">Selecione a foto...</div>
<input type="file" name="edt_foto" size="40">
<div class="legenda">Legenda</div>
<input type="text" name="edt_legenda" size="40">
<div class="legenda">Descrição</div>
<textarea name="TextField"></textarea>
<center>
<br />
<input type="submit" id="btn_salvar" value="Adicionar">
</center>
</fieldset>
</form>
</div> 
<?php include("./panels.php"); ?>
<?php include("./bottom.php"); ?>
</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja esta parte:

if (is_file($_POST['edt_foto']))

 

O correto é:

if (is_file($_FILES['edt_foto']['tmp_name']))

 

Esse é o nome do arquivo temporário no servidor.

 

 

 

 

Mas também pode haver erro na função Upload, cujo código você não postou.

Insira echo's nos if's. veja se está entrando nos if's em que deve entrar. Também verifique o retorno de Upload e o valor de $_FILES['edt_foto']['error']

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deus le pague beraldo, era o caso do is_file na variável errada mesmo, de qualquer forma, segue a função para tratamento de upload que eu estou usando, copiei na net e corrigi uns detalhes:

 

function Upload($Arquivo, $Local)
{
if(!(empty($Arquivo)))
{
$MainType = substr($Arquivo[type], 0, 5);

if ($MainType == 'image')
{
$arquivo1 = $Arquivo;
$arquivo_minusculo = strtolower($arquivo1['name']);
$caracteres = array("ç","~","^","]","[","{","}",";",":","´",",",">","<","-","/","|","@","$","%","ã","â","á","à","é","è","ó","ò","+","=","*","&","(",")","!","#","?","`","ã"," ","©");
$arquivo_tratado = str_replace($caracteres, "" ,$arquivo_minusculo);
$destino = "$Local/$arquivo_tratado";
echo ($Arquivo['error']);
if(move_uploaded_file($arquivo1['tmp_name'], $destino))
{
return 0;
}
else
{
return 301;
}

}
else
{
return 303;
}
}
else
{
return 301;
}
}

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.