简体   繁体   中英

Issue with uploading multiple files on a single html page using php

I am trying to build a web page where users can edit images portrayed on their public pages. There are 3 images that display on their public page and I've set up 3 HTML forms in order to handle the 3 separate files.

I only have 1 listed below because once I figure out the fix to 1 I'll be able to duplicate the fix to the other 2,

I have other upload pages on my website and they work fine, but for some reason this page is giving me trouble. I can select a file but when I want to upload it my php code doesn't read that there is anything being posted.

*I've commented out the function call (I know it works) I just need to know why my php code won't read that there is a file there.

If I had to guess it'd be something with how it's named or how it's being tossed to the php code.

The code looks like this:

                                            <div class="academic" style="width:250px;">
        <br>
        <?php 




        if(isset($_FILES['aca']) === true)
        {
            echo 'please print';  //It doesn't
            if(empty($_FILES['aca']['name']) === true)
            {
            echo 'Please choose a file! <br>';
            }
            else
            {

                $allowed = array('jpg', 'jpeg', 'gif', 'png');

                $file_name = $_FILES['aca']['name']; 

                $file_extn = strtolower(end(explode('.', $file_name)));
                $file_temp = $_FILES['aca']['tmp_name'];
                echo '<br>';
                echo '<br>';
                print_r($_FILES['aca']['tmp_name']);
                echo '<br>';
                echo '<br>';
                if(in_array($file_extn, $allowed) === true) {

                //upload_image($file_temp,$file_extn);

                echo 'You have uploaded a picture!';
                echo '<b><h3>Press submit again to finish the upload</h3></b>';
                //echo "<script>window.top.location='../hidden/viewPNM.php?id=$permi'</script>";


                }
                else
                {
                echo 'Incorrect File Type!! <br> Allowed: ';
                echo implode(', ', $allowed);

                }

            }

        }


        ?>
        <form action="" method="post" enctype="multipart/form-data">
        <input type="file" name="aca" id="aca"> 
        <input type="submit" value="Upload">
        </form>

        </div>
        </span>

Okay...here is what you can try to do:

Move the whole PHP code UNDER the form code. I remember that sometimes wierd bugs with that were happening, and the code didnt run

If that doesnt work, do following:

  1. Change <input type="file" name="aca" id="aca"> to <input multiple="true" type="file" name="aca[]" />

  2. Add this code above the submit button: <input type="hidden" name="sendfiles" value="Send Files" />

  3. Replace if(isset($_FILES['aca']) === true) with if(isset($_POST['sendfiles']))

If this doesn't work, I can offer you a way to allow multiple files being uploaded from one button. (Took the code from my website I made before)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM