Ir para conteúdo

Arquivado

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

Wesley Kovalski

$_FILES Não está vindo valor

Recommended Posts

Estou usando um formulário...e nese formulário tem um action="" que envia para um outro arquivo...

 

Nesse outro arquivo eu coloquei:

 

$img = $_FILES['foto'];

 

Mas esse $_FILES não está vindo valor nenhum, está vindo em branco...

 

Mas se eu colocar:

 

 

$img = $_POST['foto'];

 

Ai ele vem com a primeira letra do nome da foto...o que será que está acontecendo, eu sei que tem que colocar o enctype="multipart/form-data" se for pegar dados do mesmo arquivo...

 

Mas eu estou enviando os dados dos campos para outro arquivo...tem algum método que usa para esse $img = $_FILES['foto']; não vir vazio?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque esta trazendo um array, se quiser o nome do arquivo vc deve especificar o valor, exemplo : $_FILES['foto']['name']

 

para entender melhor coloca isso na tela:

 

var_dump ($_FILES['fotos']);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu estou enviando os dados dos campos para outro arquivo...tem algum método que usa para esse $img = $_FILES['foto']; não vir vazio?

 

Como vc "envia" pra outro arquivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo assim não deu certo de usar: $img = $_FILES['foto']['name'];

 

Pois lá no banco de dados vem em branco...

 

É que estou fazendo um sistema de upload de imagem...eu já fiz funcionar usando o enctype="multipart/form-data" no form...

 

E o código no mesmo arquivo...tipo:

 

if(isset($_POST['cadastrar_banners']) && $_POST['cadastrar_banners'] == 'cad'){

 

 

Códigos.....etc...

 

}

 

Mas agora eu tenho que mandar essas informações do formulário pelo action="pagina.php"

 

E nessa pagina.php vai receber todos os campos do formulário...

 

 

O sistema está funcionando quase tudo certo, ele está deletando a imagem antiga da pasta...mas na hora do update o campo thumb fica vazio....ou seja...tem o nome da imagem antiga lá...ai quando o sistema faz o update, ele apaga o nome da imagem e fica em branco...

 

 

Ou seja essa variável que tras a imagem: $img = $_FILES['foto']; está indo vazia....

 

Pois já di um echo nela e não aparece nada...mas se eu coloco $img = $_POST['foto']; ai aparece o nome da imagem certinho...quer dizer que o que isso? HAUhUAHa

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O sistema está funcionando quase tudo certo, ele está deletando a imagem antiga da pasta...mas na hora do update o campo thumb fica vazio....ou seja...tem o nome da imagem antiga lá...ai quando o sistema faz o update, ele apaga o nome da imagem e fica em branco...

 

 

Ou seja essa variável que tras a imagem: $img = $_FILES['foto']; está indo vazia....

 

Pois já di um echo nela e não aparece nada...mas se eu coloco $img = $_POST['foto']; ai aparece o nome da imagem certinho...quer dizer que o que isso? HAUhUAHa

 

Obrigado.

 

Está meio confuso entender, mas vou tentar ajudar.

 

No arquivo de upload você coloca os dados, mas não deseja substituir a imagem antiga gravada no banco, é isso? Supondo que seja:

 

$imagem_do_banco; // é o caminho e nome da imagem no servidor

$_FILES["arquivo"]['name'] //arquivo que vem do seu form, provavelmente está vazio.

 

if($_FILES["arquivo"]['name'] == 0) {
$_FILES["arquivo"]['name'] = $imagem_do_banco;
$img_final = $imagem_do_banco;
}

 

Verificou se tinha alguma imagem enviado, se retornou vazio ele mantém a imagem do banco. Depois poderia fazer uma segunda condição para caso exista uma imagem. Algo como:

 

if(isset($_FILES['arquivo']) AND $_FILES['arquivo']['name'] != $imagem_final AND $_FILES['arquivo']['name'] != 0 ) { ...

 

Restante do código para mover para a pasta o arquivo, mudar nome, fazer o update no banco etc.

 

Enfim espero ter acrescentado algo.

 

Aquela velha googleada você encontra alguns sistemas de upload pronto. É bom até para entender como funciona a superglobal $_FILES.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tive problemas com isso e descobri que era a configuração do PHP que não aceitava o tamanho do arquivo enviado. Tente ver essas configurações:

 

post_max_size
file_uploads
upload_max_filesize
max_file_uploads

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.