Gagal Upload File di CodeIgniter 3.1.2 (Windows)

CodeIgniter adalah Framework PHP yang terbilang baru saya gunakan. Sempat terhenti pengembangannya tetapi dilanjutkan kembali oleh British Columbia Institute of Technology. CodeIgniter 3.1.2 adalah versi terbaru saat ini. Setelah saya gunakan tidak terlihat ada kendala apapun diversi 3.1.2. Namun, beberapa hari yang lalu kode upload file yang sebelumnya saya gunakan dan berjalan dengan baik tiba-tiba menampilkan HTTP ERROR 500 pada webserver lokal (localhost). Awalnya saya mengira ada kesalahan pada kode yang saya buat dan mencoba mencari apa penyebabnya. Ternyata letak kesalahanya pada ekstensi php_fileinfo yang perlu diaktifkan. Untuk mengaktifkan ekstensi ini langkah-langkah yang harus di lakukan adalah sebagai berikut:

  1. Cari dan buka berkas php.ini pada folder webserver.
  2. cari baris
     

    ;extension=php_fileinfo.dll
    ubah menjadi
    extension=php_fileinfo.dll

  3. Simpan perubahan pada berkas php.ini
  4. Restart webserver

Referensi: stackoverflow

Iklan

Membuat Fungsi Auto Increment Bertipe String dengan PHP

Biasanya jika ingin kode unik/identitas yang digunakan sebagai primary key pada database akan bertambah secara otomatis ketika ada data baru, caranya dengan memberikan parameter auto increment pada kolom sebuah tabel. Namun, itu hanya berlaku ketika kolom bertipe integer. Jika kode unik tersebut bertipe String/Varchar kita harus membuat sebuah fungsi pada php untuk meng-generate kode terakhir agar bertambah. Di bawah ini adalah fungsi sederhana untuk menggantikan fungsi auto increment pada kolom bertipe String/Varchar.

Fungsi PHP yang digunakan

Kemampuan

  • membuat autonumber bertipe String

kode PHP

<?php

// fungsi ini untuk menghasilkan autonumber bertipe string
// terdapat tiga parameter yang dibutuhkan untuk menggunakan fungsi ini
// $id_terakhir adalah kode terakhir dari database ex: KNS0015
// $panjang_kode adalah panjang karakter string pada kode
//				 pada KNS0015 nilai $panjang_kode = 3
// $panjang_angka adalah panjang karakter angka pada kode
//				 pada KNS0015 nilai $panjang_angka = 4

function autonumber($id_terakhir, $panjang_kode, $panjang_angka) {

	// mengambil nilai kode ex: KNS0015 hasil KNS
	$kode = substr($id_terakhir, 0, $panjang_kode);

	// mengambil nilai angka
	// ex: KNS0015 hasilnya 0015
	$angka = substr($id_terakhir, $panjang_kode, $panjang_angka);

	// menambahkan nilai angka dengan 1
	// kemudian memberikan string 0 agar panjang string angka menjadi 4
	// ex: angka baru = 6 maka ditambahkan strig 0 tiga kali
	// sehingga menjadi 0006
	$angka_baru = str_repeat("0", $panjang_angka - strlen($angka+1)).($angka+1);

	// menggabungkan kode dengan nilang angka baru
	$id_baru = $kode.$angka_baru;

	return $id_baru;
}

// contoh penggunaan kode
echo autonumber('KNS0009', 3, 4); // hasil KNS0010
echo '<br/>';

echo autonumber('D001', 1, 3); // hasil D002

?>

Semoga bermanfaat 🙂

Fungsi Page Break pada HTML untuk Print Preview

page break

Pada minggu kemarin saya memiliki masalah dalam melakukan pencetakan laporan dari aplikasi website yang saya bangun, Bagaimann caranya agar data yang saya cetak bisa dibagi perhalaman, setelah berselancar di internet saya menemukan solusi penggunaan Page Break sebagai css style pada html. saya baru tahu ada properti ini pada css. berikut ini contoh kode penggunaan Page Break.

<html>
<head>
<title>CSS - Page Break</title>
<body bgcolor="#ffffff">
<center>
Halaman 1
<div style="page-break-before:always;">
Halaman 2 </div>
<div style="page-break-after:always;">
Halaman 3 </div>
Gunakan print preview untuk melihat hasilnya
</center>
</body>
</html>

page-break-before berarti page break akan diaplikasikan sebelum tag div sehingga teks Halaman 2 akan berada pada halaman yang terpisah, sedangkan page-break-after berarti Page Break akan diaplikasikan setelah tag div sehingga tulisan “Gunakan print preview untuk melihat hasilnya” berada pada halaman tersendiri.
sumber:

W3Schools

Mencetak area tertentu pada web dengan JQuery.PrintArea

Pada tutorial kali ini kita akan memanfaatkan plugin Jquery.PrintArea untuk mencetak area tertentu pada aplikasi yang telah kita buat. Berikut ini langkah-langkahnya.

Langkah 1: Mempersiapkan Kebutuhan

  1. Buat folder printarea pada folder root webserver
  2. Unduh JQuery di sini
  3. Unduh JQuery.PrintArea di sini
  4. Unduh bootstrap.min.css di sini
  5. Simpan semua berkas yang sudah di unduh dalam folder printarea

Langkah 2: Membuat berkas yang dibutuhkan

index.php

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>JQuery Print Area</title>
	<meta name="viewport" content="width=device-width, initial-scale=1.0">

	<link href="bootstrap.min.css" rel="stylesheet" media="screen">
	
	<!-- css yang digunakan ketika dalam mode screen -->
	<link href="style.css" rel="stylesheet" media="screen">
	
	<!-- ss yang digunakan tampilkan ketika dalam mode print -->
	<link href="print.css" rel="stylesheet" media="print">
	
	<script src="jquery-1.8.3.min.js"></script>
	<script src="jquery.PrintArea.js"></script>
	<script>
		(function($) {
			// fungsi dijalankan setelah seluruh dokumen ditampilkan
			$(document).ready(function(e) {
				
				// aksi ketika tombol cetak ditekan
				$("#cetak").bind("click", function(event) {
					// cetak data pada area <div id="#data-mahasiswa"></div>
					$('#data-mahasiswa').printArea();
				});
			});
		}) (jQuery);
	</script>
</head>

<body>

<div class="navbar navbar-static-top">
	<div class="navbar-inner">
		<div class="container">
			<a class="brand" href="http://umsida.ac.id">Univ. Muhammadiyah Sidoarjo</a>
		</div>
	</div>
</div>

<div class="container">
	<div class="row">

		<h3>
			Daftar Mahasiswa
			<button id="cetak" class="btn pull-right">Cetak</button>
		</h3>
		
		<div id="data-mahasiswa">
		
		<!-- tampilkan ketika dalam mode print -->
		<div class="title">
			<center>
				DAFTAR MAHASISWA<br/>
				FAKULTAS TEKNIK<br/>
				UNIVERSITAS MUHAMMADIYAH SIDOARJO
			</center>
		</div>
		
		<table class="table table-condensed table-bordered table-hover" cellpadding="0" cellspacing="0">
			<thead>
			<tr>
				<th width="2%">#</th>
				<th width="12%">NIM</th>
				<th width="20%">Nama</th>
				<th>Alamat</th>
				<th width="12%">Kelas</th>
				<th width="12%">Status</th>
				<th width="9%" class="action"></th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td>1. </td>
				<td>08.10802.00234</td>
				<td>Ari Effendi</td>
				<td>Gedangan</td>
				<td>E Sore</td>
				<td>Aktif</td>
				<!-- sembunyikan ketika dalam mode print -->
				<td class="action">
					<a href="#" class="btn btn-mini">Ubah</a>
					<a href="#" class="btn btn-mini">Hapus</a>
				</td>
			</tr>
		</tbody>
		</table>		
		
		</div>
	</div>
</div>

</body>
</html>

style.css


/* sembunyikan judul */
.title {
	display: none;
}

print.css


/* menyembunyikan tombol aksi */
.action {
	display: none;
}

/* memberikan border pada tabel */
.table { border-right: 1px solid black; border-bottom: 1px solid black; }
.table th, .table td { border-left: 1px solid black; border-top: 1px solid black; padding: 3px; font-size: 12px}

Langkah 3: Menguji Aplikasi

Buka browser kemudian ketikkan pada addressbar localhost/printarea/, tekan tombol cetak. Jika berhasil akan tampil kotak print dialog.

print-area-1

print-area-2

Unduh Kode

Membuat fungsi konversi rupiah dengan PHP

Fungsi ini digunakan untuk mengkonversi angka dalam bentuk integer maupun pecahan ke format mata uang rupiah.

Fungsi PHP yang digunakan

Kemampuan

  • Mengkonversi angka kedalam format mata uang rupiah
  • Mendukung untuk menampilkan nilai pecahan maupun tidak

kode PHP

<?php
function rupiah($nilai, $pecahan = 0) {
	return number_format($nilai, $pecahan, ',', '.');
}

// konversi sederhana
echo rupiah(500000); // akan tampil 500.000
echo "<br/>";

// konversi dengan nilai pecahan
// 2 menandakan dua digit dibelakang koma
echo rupiah(500000, 2) // akan tampil 500.000,00
?>

Semoga bermanfaat 🙂

Membuat fungsi jumlah hari dalam bulan dengan PHP

Kali ini kita akan membuat fungsi untuk menampilkan jumlah hari pada bulan tertentu, fungsi ini saya buat ketika ingin melakukan perulangan sebanyak jumlah bulan untuk menampilkan statistik dari database.

Fungsi PHP yang digunakan

Kemampuan

  • menampilkan jumlah hari pada bulan dan tahun ini
  • menampilkan jumlah hari pada bulan tertentu tahun ini
  • menampilkan jumlah hari pada bulan tahun dan tertentu

kode PHP

<?php
function jumlah_hari($bulan=0, $tahun=0) {

	$bulan = $bulan > 0 ? $bulan : date("m");
	$tahun = $tahun > 0 ? $tahun : date("Y");

	switch($bulan) {
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			return 31;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			return 30;
			break;
		case 2:
			return $tahun % 4 == 0 ? 29 : 28;
			break;
	}
}

// menampilkan jumlah hari pada bulan dan tahun saat ini
echo jumlah_hari();
echo "<br>";

// menampilkan jumlah hari pada bulan pebruari tahun ini
echo jumlah_hari(2);
echo "<br>";

// menampilkan jumlah hari pada bulan pebruari tahun 2000
echo jumlah_hari(2, 2000);
echo "<br>";
?>

Semoga bermanfaat 🙂