Como adicionar um simples envio de imagem a um formulário?

Tenho um formulário html. Eu quero adicionar um recurso de upload de imagem simples para ele e ele será enviar a imagem para uma página de php chamado "next.pai". Alguma sugestão de como fazê-lo?

Author: Oak Bytes, 2010-12-12

2 answers

Crie um formulário HTML como o seguinte:

<html>
<body>
<form action="next.php" method="post" enctype="multipart/form-data">
<label for="image">Image:</label>
<input type="image" name="image" id="image" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
O teu "próximo".o ficheiro php poderia lidar com a imagem semelhante a esta:
<?php

if ($_FILES["file"]["error"] > 0)
    echo "Error: " . $_FILES["image"]["error"] . "<br />";
else
{
    echo "Upload: " . $_FILES["image"]["name"] . "<br />";
    echo "Type: " . $_FILES["image"]["type"] . "<br />";
    echo "Size: " . ($_FILES["image"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["image"]["tmp_name"];
}
Neste ponto, você pode torná-lo mais seguro, verificando o tipo e garantindo que é apenas jpg, gif, png, ou do tipo. Eu recomendaria copiar a imagem em 2 ou 3 tamanhos (polegar, médio, original), e excluí-la do diretório temporário. Você poderia usar ImageMagick para redimensionar as imagens e depois usar o sistema de ficheiros funções para mover e apagar as cargas temporárias.
 3
Author: Josh, 2010-12-12 14:54:16

Não estou ciente de quaisquer meios de interagir com um ficheiro input do lado do cliente, por isso terá de verificar/validar o servidor de ficheiros carregado (dentro do 'next.php ' script), mas isto deve ser suficiente:

<form action="path/to/next.php" method="post" enctype="multipart/form-data">
    <fieldset>
        <input type="file" name="picture" id="picture" />
    </fieldset>
</form>
 1
Author: David Thomas, 2010-12-12 15:10:43