le téléchargement de plusieurs fichiers d'image en php mysql galerie

J'ai eu cette galère de travail 65% environ de l'endroit où je veux être. Je me demandais si quelqu'un pouvait regarder le code suivant et me dire comment faire pour télécharger plusieurs images de ma galerie.

Voici le code.

Simple admin code du formulaire:

    <form enctype="multipart/form-data" action="uploader.php" method="POST">


        Category: <select class="text" name="dataType[]">
        <option value="treeremoval" selected="selected">treeremoval</option>
        <option value="treetrimming" >treetrimming</option>
        <option value="treebracing" >treebracing</option>
        <option value="stumpgrinding" >stumpgrinding</option>
        <option value="firewood" >firewood</option>
        <option value="cleanup" >cleanup</option>
        </select>
<br /><br />

    Caption: <input type="text" name="title[]">
<br /><br />

Image to upload: <input type="file" name="image[]" />
<br /><br />






        Category: <select class="text" name="dataType[]">
        <option value="treeremoval" selected="selected">treeremoval</option>
        <option value="treetrimming" >treetrimming</option>
        <option value="treebracing" >treebracing</option>
        <option value="stumpgrinding" >stumpgrinding</option>
        <option value="firewood" >firewood</option>
        <option value="cleanup" >cleanup</option>
        </select>
<br /><br />

    Caption: <input type="text" name="title[]">
<br /><br />

Image to upload: <input type="file" name="image[]" />
<br /><br />



    <input type="submit" value="Upload">
</form>

uploader.php code:


    <?php
include($_SERVER['DOCUMENT_ROOT'] . "/connections/dbconnect.php");

$dataType = mysql_real_escape_string($_POST["dataType"][$i]);
$title = mysql_real_escape_string($_POST["title"][$i]);

$fileData = pathinfo(basename($_FILES["image"]["name"][$i]));

$fileName = uniqid() . '.' . $fileData['extension'][$i];

$target_path = ($_SERVER['DOCUMENT_ROOT'] . "/images/gallery/" . $fileName);


for($i=0;$i<count($_FILES["image"]["name"]);$i++){

 $dataType = mysql_real_escape_string($_POST["dataType"][$i]);  //get the dataType with the same key - $i
    $title = mysql_real_escape_string($_POST["title"][$i]);   //get the title with the same key - $i

    $fileData = pathinfo(basename($_FILES["image"]["name"][$i]));
while(file_exists($target_path))
{
    $fileName = uniqid() . '.' . $fileData['extension'];
    $target_path = ($_SERVER['DOCUMENT_ROOT'] . "/images/gallery/" . $fileName);
}

 if (move_uploaded_file($_FILES["image"]["tmp_name"][$i], $target_path))
    {    //The file is in the images/gallery folder. Insert record into database by
    //executing the following query:
     $sql="INSERT INTO images (data_type, title, file_name)"."VALUES('$dataType','$title','$fileName')";
     $retval = mysql_query($sql);



echo "The image {$_FILES['image']['name'][$i]} was successfully uploaded and added to the gallery<br />
     <a href='index.php'>Add another image</a><br />";


}
else
{
 echo "There was an error uploading the file {$_FILES['image']['name'][$i]}, please try again!<br />";
    }
} //close your foreach
?>

J'ai essayé de dupliquer le code du formulaire 4 fois, mais il serait seulement de téléchargement 1 image à la galerie.

Toute aide serait grandement appréciée.

Merci!

ajouter plusieurs <input type="file"> chacune avec un nom unique
Vous pouvez le régler de façon relativement simple... je pense que c'est sur le input type="file", où vous avez mis un type de données... ou quelque chose? Ensuite, votre $_FILES sera un tableau de plusieurs fichiers. Nous l'avons fait à l'école, une entrée unique pour plusieurs fichiers, mais nous avons utilisé un enseignant modèle, de sorte que j'ai oublié. Si vous ne trouvez pas de m'en informer et je vous la recherche par le biais de mes fichiers.
pourriez-vous expliquer un peu plus en détail. Désolé un peu nouveau à ce type de codage.
J'aime le son de votre solution, si vous pouvez trouver ce fichier, j'apprécierais. vous pouvez m'envoyer un email à [email protected]

OriginalL'auteur cwd | 2013-07-11