我有这个表格
<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>
用户必须上传曲目。每次上传大于7mb的文件时,print_r($_FILES);
都会打印一个空数组。但是当我上传一个低于8mb的文件或一个mp3时,print_r($_FILES);
会打印一个带有值的数组。
我猜测$ _FILES没有读取某些文件,因为它们的大小超过8mb?如果是这样的话我将如何上传大于8mb的文件?我的关于POSt和FILE上传的php.ini设置也是这样的
post_max_size = 128M
upload_max_filesize = 128M
如果你们需要额外的信息,我正在使用XAMPP。
答案 0 :(得分:4)
看起来您正在查看错误的php.ini,因为默认的 post_max_size 通常为8M。
重新启动Web服务器并查看 phpInfo()
答案 1 :(得分:1)
您可以使用此代码轻松覆盖PHP中的ini。
ini_set('memory_limit', '32M');
ini_set('post_max_size', '16M');
ini_set('upload_max_filesize', '16M');
答案 2 :(得分:1)
我想不出比this
更好的答案我建议使用per-script ini_set,因为您不一定要在站点范围内提高执行时间。