2010-12-12 31 views
3

J'ai une forme html. Je veux ajouter une fonction de téléchargement d'image simple et envoyer l'image à une page php appelée "next.php". Des suggestions sur la façon de le faire?Comment ajouter une image simple à un formulaire?

+0

PS: Je vois que vous avez étiqueté votre question 'asyncfileupload': voulez-vous le téléchargement doit être asynchrone? – nico

+0

accédez à http: // google com, puis tapez le téléchargement d'image php. Ça aide toujours. Vous trouverez probablement probablement un article dans votre langue maternelle –

+0

@Col. Shrapnel ... heh –

Répondre

1

Je ne connais aucun moyen d'interagir avec un fichier input sur le côté client, vous devrez donc vérifier/valider le fichier côté serveur téléchargé (dans le script 'next.php'), mais cela devrait être suffisant:

<form action="path/to/next.php" method="post" enctype="multipart/form-data"> 
    <fieldset> 
     <input type="file" name="picture" id="picture" /> 
    </fieldset> 
</form> 
+1

L'attribut enctype doit être défini ou cela ne fonctionnera pas. Il va se battre la tête contre le mur en essayant de comprendre ce qui ne va pas ... –

+0

@Brian H, oups ... merci, et édité. Il y a toujours ** quelque chose ** ... = D –

3

Créer un formulaire HTML comme ce qui suit:

<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> 

Votre fichier "next.php" pourrait gérer l'image semblable à ceci:

<?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"]; 
} 

À ce stade, vous pouvez le rendre plus sûr en vérifiant le type et en vous assurant qu'il est seulement jpg, gif, png, ou du tri. Je recommande de copier l'image en 2 ou 3 tailles (pouce, moyen, original), et de le supprimer du répertoire temporaire. Vous pouvez utiliser ImageMagick pour redimensionner les images, puis utiliser les fonctions filesystem pour vous déplacer et supprimer les téléchargements temporaires.