2016-06-08 3 views
1

La plupart des problèmes que je vois sont avec une entrée d'image. Mais que faire si vous avez 2 ou 3 ou plus?Plusieurs entrées d'image dans un formulaire?

Mon script pour une entrée d'image a fonctionné mais j'essaie d'avoir une entrée d'image unique et une entrée d'image multiple dans mon formulaire. Je suis en train d'essayer d'avoir 2 entrées d'image unique sur mon formulaire, mais ne fonctionne pas.

Voici le code HTML pour une entrée d'une seule image (en supposant qu'il est dans une forme <> tag):

<input type="hidden" name="size" value="350000"/> 
    <input type="file" name="schoollogo"/><br/> 

Le PHP:

$target = "images/logo/"; 
    $target = $target . basename($_FILES['schoollogo']['name']); 

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

    //Writes the information to the database 

    mysql_query("INSERT INTO Colleges (schoollogo) VALUES ('$schoollogo')") or die(mysql_error()) ; 

    //Writes the logo to the server 
    if (move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)) { 
     //Tells you if its all ok 
     echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory"; 
    } else { 
     //Gives and error if its not 
     echo "Sorry, there was a problem uploading your file."; 
    } 

Pour la deuxième entrée d'une seule image , J'ai juste ajouté un deuxième code d'entrée ...

<input type="hidden" name="size" value="350000"/> 
<input type="file" name="otherimage"/><br/> 

Et puis ajouté la variable au PHP: Mais en ajoutant ce code dans le PHP, le code ne fonctionne pas. Aucun message d'erreur ou quoi que ce soit. La page est vide. Par ailleurs, here is my other question où j'essaie d'ajouter une entrée de téléchargement de plusieurs images dans mon formulaire avec une entrée de téléchargement d'image unique déjà en cours.

+0

Possible copie de [Référence - Que signifie cette erreur en PHP? - Rien n'est vu. La page est vide et blanche.] (Http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php/12772851#12772851) – CBroe

Répondre

1

Fermeture incorrecte de la condition if.

if(move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)) && (move_uploaded_file($_FILES['otherimage']['tmp_name'], $targetotherimage)) { 
                    ^^^^// In your code if condition close here 

Il est utilisé comme

if(move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target) 

&& (move_uploaded_file($_FILES['otherimage']['tmp_name'], $targetotherimage)))//if condition close here 
{ 
// rest of code 

} 
+0

Avez-vous vérifié la réponse ??? – Saty

+0

J'ai, mais rien n'a changé. Pas d'erreurs Toujours page vierge après avoir fait les changements que vous avez suggérés. – thomas

+0

utilise 'ini_set ('display_errors', 1); ini_set ('display_startup_errors', 1); error_reporting (E_ALL); 'pour vérifier l'erreur sur la page – Saty

1

Cela fonctionne pour vous, remplacer votre formulaire avec cette

<form method="post" enctype="multipart/form-data" action="upload.php"> 
     <input type="file" name="file['schoollogo']" > 
     <input type="file" name="file['otherimage']" > 
     <input type="submit" value="submit"> 
</form> 

Vous obtiendrez vos fichiers dans ce format:

Array 
(
    [file] => Array 
     (
      [name] => Array 
       (
        ['schoollogo'] => 1465386599_Location_Outline-36.png 
        ['otherimage'] => STONE_Website_v7E.jpg 
       ) 

      [type] => Array 
       (
        ['schoollogo'] => image/png 
        ['otherimage'] => image/jpeg 
       ) 
     ) 
) 

Et dans le fichier upload.php

<?php 
if (isset($_FILES['file'])) 
{ 
    $schoollogo=$_FILES['file']['name']['schoollogo']; 
    $target = "images/logo/".basename($schoollogo);; 

    $otherimage = $_FILES['file']['name']['otherimage']; 
    $targetotherimage = "images/otherimage/".basename($otherimage); 

     $tmp_name_school = $_FILES['file']['tmp_name']['schoollogo']; 
     $tmp_name_other = $_FILES['file']['tmp_name']['otherimage']; 

     if ($tmp_name_school != "" && $tmp_name_other !== "") 
     { 
     //Upload the file 
     if(move_uploaded_file($tmp_name_school,$target) && move_uploaded_file($tmp_name_other, $targetotherimage)) 
     { 
      mysql_query("INSERT INTO Colleges (schoollogo,otherimage) VALUES ('$schoollogo','$otherimage')") or die(mysql_error()) ; 
      echo'Done!'; 
     } 
     else 
     { 
      echo "Not Moved"; 
     } 
     } 
} 
?>