I have a file upload form configured using the HTML5 multiple attribute.
However, the form saves only one file. Do I need to create some kind of loop function in php or is there any other way to do this?
Here is my code ...
the form:
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data"> <input type="file" multiple="multiple" name="file[]" id="file" /> <input name="submit" type="submit" value="Submit" /> </form>
PHP:
<?php if(isset($_POST['submit'])) { foreach($_FILES['newsImage'] as $file){ if ((($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg"))) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } } } ?>
source share