Jump to content
Fórum Script Brasil
  • 0

Envio De Imagem Para Diretório


fsphp

Question

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 to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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.

Edited by tfolima
Link to comment
Share on other 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 to comment
Share on other 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

Edited by tfolima
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...