Ir para conteúdo
Fórum Script Brasil
  • 0

Envio De Imagem Para Diretório


fsphp

Pergunta

Para enviar imagens para um diretório, a tag <form> tem que ter alguma informação específica. Tipo Mime?

Estou colocando assim:

<form method=post action="recebe.php" enctype=multipart/form-data>

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Sim, é pra ser isso mesmo... mas só uma observação: atributos de tags HTML devem estar SEMPRE entre aspas simples ou duplas. Talvez nem seja isso o causador do seu problema, mas com certeza pode gerar muitos outros...

você criou um campo <input type="file" /> nesse form e submeteu a imagem?? O que aconteceu?

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, vou usar as aspas sempre. Valeu a dica, pois eu pensei que quando estivesse usando apenas html elas não eram necessárias.

No meu form eu coloquei:

<input type="file" name="imagem">

<input type="submit" name="submit" value="Enviar Imagem">

Na página php que processa as informações eu coloquei:

<?php

$imagem = $_FILES['imagem']['name'];

$tam_imagem = $_FILES['imagem']['size'];

$arquivo_temporario = $_FILES['imagem']['tmp_name'];

$tamanho_fixo = "N";

if(!file_exists($imagem))

{

echo "Arquivo da imagem não encontrado";

exit;

}

........

Está parando nesse primeiro exit. Mencionando:

Arquivo da imagem não encontrado. sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, deu certo, só uma observação onde tem o "dir/" tem que ser o endereço completo do diretório. Isso eu falo para aqueles que também são iniciantes.

No local de "dir/" eu coloquei:

"C:/Arquivos de programa/EasyPHP1-7/www/diretório_criado/" (neste caso estou trabalhando localmente).

COMO FAÇO SE ESSE ARQUIVO JÁ EXISTIR NO DIRETÓRIO, UMA VEZ QUE ELE ESTÁ SOBRESCREVENDO? huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Está correto, você tambem poderia ter colocado o caminho em relação ao diretório de seu script, mas a opção ("C:/Arquivos de programa/EasyPHP1-7/www/diretório_criado/") é a mais recomendada wink.gif

Quanto ao nome do arquivo (não lembro se há uma função para verificar se existe um arquivo), mas você pode controlar tb via bd.

Editado por tfolima
Link para o comentário
Compartilhar em outros sites

  • 0

COMO FAÇO SE ESSE ARQUIVO JÁ EXISTIR NO DIRETÓRIO, UMA VEZ QUE ELE ESTÁ SOBRESCREVENDO?

Via banco de dados eu consigo controlar sim, mas o problema é que ele está sendo sobrescrito no diretório.

Será que se eu enviar primeiro o nome para o banco de dados e pedir para sair se já tiver um nome desse lá resolve? Acho que sim, né?

Vou tentar depois eu posto o resultado. smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, você pd fazer uma consulta no bd e se este nome já existir, você pd colocar uma coisa tipo : nomedoarquivo1.jpg (utilizando aquelas funções de strings para identificar o ponto ,coisa e tal).

Ae você transfere o arquivo:

move_uploaded_file($_FILES['imagem']['tmp_name'], "dir/".$nomeimagem]);

Agora eu lembrei, tem uma função file_exists(), pd tentar usar esta tb

falou

Editado por tfolima
Link para o comentário
Compartilhar em outros sites

  • 0

É mesmo, eu ia fazer uma consulta no banco de dados, ia gastar tempo e script. Também daria certo mas resolvi seguir sua sugestão e usei a função file_exists() e deu certo.

Bem lembrado, valeu. wink.gif

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...