J'ai une boucle foreach qui est supposée vérifier si une case est cochée par un élément. Si la case est cochée, j'ai besoin de voir si la partie de téléchargement du fichier a une valeur et si c'est le cas, continuez à vérifier le type et la taille du fichier que l'utilisateur essaie de télécharger.Php foreach loop, avec des messages d'erreur en boucle
Actuellement s'il n'y a une erreur avec la première case à cocher alors cela fonctionne très bien, mais pour une raison quelconque s'il y a une erreur avec plus d'un fichier, il ne boucle les résultats à nouveau. Par exemple, s'il y a une erreur avec deux fichiers, cela donnera quatre résultats (listant chaque erreur deux fois) si une erreur avec trois items me donne 6 résultats.
Je suis vraiment nouveau à boucles et je me demande si je dois passer à une boucle et faire quelque chose comme boucle jusqu'à ce que des erreurs égales à zéro.
Voici mon html
<ul class="imgPreview">
<li>
<a href="#">dialogwarning_pimg4_15_1276648623.png</a>
<a href="#" class="edit_project_file"> <img src="images/edit.gif"/></a>
</li>
<li>
<input name="upload_project_images[]" type="file" />
</li>
<li>
<input name="edit_image[]" type="checkbox" value="dialogwarning_pimg4_15_1276648623.png"/>
</li>
<li>
<a href="#">formatjustifyright_pimg3_15_1276648623.png</a>
</li>
<li class="edit_project_image">
<input name="upload_project_images[]" type="file" />
</li>
<li class ="edit_file_checkbox">
<input name="edit_image[]" type="checkbox" value="formatjustifyright_pimg3_15_1276648623.png"/>
</li>
</ul>
Le PHP boucle est comme suit:
$remove_images_files = $_POST['edit_image'];
if(isset($remove_images_files)){
foreach ($remove_images_files as $update){
foreach ($_FILES["upload_project_images"]["type"] as $key => $type) {
$upload_project_images = $_FILES["upload_project_images"]["name"][$key];
$upload_project_images_type = $_FILES["upload_project_images"]["type"][$key];
$upload_project_images_size = $_FILES["upload_project_images"]["size"][$key];
$upload_project_image_ext = strtolower(substr($upload_project_images, strrpos($upload_project_images, '.') + 1));
if($upload_project_images != "") {
if((!in_array($upload_project_images_type,$upload_permitted_types['mime'])) || (!in_array($upload_project_image_ext,$upload_permitted_types['ext']))) {
$errmsg_arr[] = 'Please select a jpg, jpeg, gif, or png image to use as the project image' .$upload_project_images . $upload_project_image_ext;
$errflag = true;
}
elseif($upload_project_images_size > $max_upload_size_bytes) {
$errmsg_arr[] = 'Please select an image smaller than '. $max_upload_size_Kbytes .' to use as the project image';
$errflag = true;
}
}
}
}
}
Bizarre, j'aurais pu jurer que j'ai essayé ça mais ça a couté pour régler le problème donc je dois avoir mal fait. Merci pour l'aide. – BandonRandon
Vous êtes les bienvenus. –