У меня возникла проблема при загрузке файлов с PHP с ограничением по размеру. Я установил максимальный размер для загрузки: 5 МБ, но когда я загружаю файл более 5 МБ, ему все же предоставляется продолжение процесса, но файл не загружается, как я могу решить проблему, поэтому будет некоторая ошибка, если кто-то загрузит больше чем 5 МБ. Вот мой код:Загрузка файла с помощью PHP: ограничение размера
Форма ввода:
<form action="kegiatan_upload_tambah.php" method="post" enctype="multipart/form-data">
<div class="box-body">
<div class="form-group"><label>ID Kegiatan</label>
<input type="text" name="id_kgt" class="form-control">
</div>
<div class="form-group"><label>Nama Kegiatan</label>
<input type="text" name="nama_kgt" class="form-control">
</div>
<div class="form-group"><label>Keterangan</label>
<textarea name="ket" class="form-control"></textarea>
</div>
<div class="row">
<div class="col-xs-5"><label>Tanggal Mulai</label>
<input type="text" name="tg_mulai" id="tg_mulai" class="form-control" >
</div>
<div class="col-xs-5"><label>Tanggal Akhir</label>
<input type="text" name="tg_akhir" id="tg_akhir" class="form-control" >
</div>
</div>
<br/>
<div class="form-group"><label>Pilih File</label>
<input type="file" name="file" required>
</div>
</div></form>
PHP скрипт:
$allowed_ext = array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'rar', 'zip');
$file_name = $_FILES['file']['name']; // File adalah nama_kgt dari tombol input pada form
$file_ext = strtolower(end(explode('.', $file_name)));
$file_size = $_FILES['file']['size'];
$file_tmp = $_FILES['file']['tmp_name'];
$lokasi = 'file/kegiatan/'.$nama_kgt.'-'.$file_name;
if(in_array($file_ext, $allowed_ext) === true)
{
if($file_size > 5000000)
{
echo "<script>alert('ERROR: Max File only 5 Mb!');history.go(-1)</script>";
}
else
{
move_uploaded_file($file_tmp, $lokasi);
$sql = "INSERT INTO kegiatan (id_kgt,nama_kgt,ket,tg_mulai,tg_akhir,nm_pengirim,type,size,file,jamlog,buatlog)
VALUES('$id_kgt','$nama_kgt','$ket','$tg_mulai','$tg_akhir','{$_SESSION['nama']}','$file_ext','$file_size','$lokasi',now(),now())";
Любая помощь будет так высоко ценится.
Ну, что значение находится внутри ** $ file_size **? – Naruto
Можете ли вы показать мне тег '', а также распечатать' $ file_name', '$ file_ext',' $ file_size' и '$ file_tmp', потому что я думаю, что файл фактически не загружен. – AkiEru
@AkiEru Я обновил форму ввода sir –