1

私はこのフォームを持っています

<table class="table">
        <div class="error"><?php if(!empty($errors))echo output_errors($errors);?></div>
        <form action = "upload_music.php" method = "POST" enctype = "multipart/form-data">
        <tr>
            <td>Artist:</td>
            <td><input type="text" name="artist" value=""></td>
        </tr>
        <tr>
            <td>Track Name:</td>
            <td><input type="text" name="track_name" value=""></td>
        </tr><?php print_r($_FILES);?>
        <tr>
            <td>Genre:</td>
            <td>
            <?php  
                $genres = Genre:: getAllGenre();
            ?>
                <select name = "genre">
                    <?php 
                        for($i = 0  ; $i<count($genres);$i++){
                        ?>
                        <option value = "<?php echo "{$i}"?>"><?php echo "{$genres[$i]['genre']}";?> </option>
                    <?php   }

                    ?>
                </select>
            </td>
        </tr>
        </tr>
            <td>Track:</td>
            <td><input type='file' name='file_path'></td>
        </tr>

        <tr>
            <td>Track Description:</td>
            <td><textarea name="track_desc" rows ="5"></textarea></td>
        </tr>
        <tr>
            <td><input class="btn btn-success" type="submit" name = "submit" value="Upload"></td>
        </tr>
        <form>
    </table>

ユーザーがトラックをアップロードする必要がある場所。7 MB を超えるファイルをアップロードするたびにprint_r($_FILES);、空の配列が出力されます。しかし、8 MB 以下のファイルまたは mp3 をアップロードするprint_r($_FILES);と、値を含む配列が出力されます。

ファイルのサイズが 8 MB を超えているため、一部のファイルが $_FILES によって読み取られていないと推測していますか? その場合、8 MB を超えるファイルをアップロードするにはどうすればよいですか? また、POSt および FILE アップロードに関する私の php.ini 設定は次のようになります

post_max_size = 128M
upload_max_filesize = 128M

追加情報が必要な場合は、私は XAMPP を使用しています。

4

3 に答える 3

4

デフォルトのpost_max_sizeは通常 8M であるため、間違った php.ini を調べているようです。

Web サーバーを再起動し、phpInfo()を調べます。

于 2012-07-08T04:42:41.450 に答える
1

このコードを使用して、PHP の ini を簡単にオーバーライドできます。

ini_set('memory_limit', '32M');
ini_set('post_max_size', '16M');
ini_set('upload_max_filesize', '16M');
于 2012-07-08T05:58:56.670 に答える
1

これ以上の答えは思いつきません

サイト全体の実行時間を必ずしも上げたくないので、スクリプトごとの ini_set を使用することをお勧めします。

于 2012-07-08T06:35:39.647 に答える