[ PHP – CI ] Script Download dalam Codeigniter

Assalamualaikum Wr Wb

Kali ini saya akan memberikan tutorial mengenai Script Download dalam codeigniter. Latar belakang penulisan ini adalah ketika saya ingin membuat sebuah download file dimana file yang di simpan di dalam server berbeda dengan nama yang di upload. Nama asli terdapat pada database, dan juga ketika di peng-uploadan file, nama file dirubah, sehingga tidak ada duplikasi data pada saat penguploadan.
Dalam kasus ini saya ingin mendownload kembali file tersebut dan merubahnya kembali dengan nama seperti asal. Didalam CI sudah terdapat library untuk merubahnya secara otomatis, karena berkaitan dengan MIME dan Header sebuah file. Oke baik langsung saja.

Load Helper ,

$this->load->helper(‘download’); atau bisa di taruh di autoload.php

Berikut adalah Instruksi atau manual dari Force_download

Keterangan :

  • $filename adalah nama file dimana nantinya kamu akan mendownload
  • $data adalah isi dari file tersebut
  • $set_mime adalah Booelan, dimana jika bernilai TRUE akan sesuai dengan ekstensi yang akan di beri nama

Contoh :

$data = ‘Farham Ganteng’;
$name = ‘mytext.txt’;
force_download($name, $data);

Dalam kasus ini, $data adalah isi dari file tersebut, oleh karena itu kita harus membaca terlebih dahulu file sebelum di download dengan menggunakan fungsi file_get_content yang ada di PHP, jadi tahapannya adalah kita mengambil file terlebih dahulu, kemudian memasukkannya pada force_download,

disarankan untuk memanggil function ini menggunakan AJAX


Sumber : https://www.codeigniter.com/userguide3/helpers/download_helper.html, http://www.technicalkeeda.com/codeigniter-tutorials/codeigniter-file-download-example

[ PHP ] MIME Type

MIME adalah singkatan dari Multipurpose Internet Mail Extension yg digunakan sebagai mekanisme untuk mengirim berbagai informasi seperti text, aplikasi, gambar, suara, video, dll agar browser tidak salah menterjemahkan konten yg diterima. Tidak hanya pada web, email pun juga menggunakan MIME.

Contoh:

Content-Type: text/plain

Browser akan membaca file tsb sebagai text biasa

Content-Type: image/jpeg

Browser akan membaca file tsb sebagai gambar jpeg

Tidak perduli apapun extensi yg diberikan oleh server, browser cuma mengenali konten berdasarkan MIME Type yg dikirim oleh server.

Pada Apache, MIME Type dan extensinya dikonfigurasi pada file mime.types. Pada PHP juga ditambahkan baris berikut agar web server menterjemahkan file2 berekstensi .php sebagai aplikasi web:

AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3

Beberapa MIME Type juga dapat dilihat di:
http://www.mimetype.org/
http://www.iana.org/assignments/media-types/

Sumber : http://www.pasarhosting.com/blog/item/content/menambahkan-mime-types-di-windows-pleks/

[ PHP ] Mengatur Maksimal Upload pada PHP dalam Apache Webserver

Assalamualaikum Warahmatullahi Wabarokatuh

Berikut saya akan menulis tutorial untuk mengatur maksimal Upload pada PHP dengan Webserver Apache pada Debian 8.

PHP has several configuration options to limit resources consumed by scripts. By default, PHP is set to allow uploads of files with a size of 2MB or less.

Kemudian Edit File php.ini, yang berada pada

/etc/php5/apache2/php.ini
dan cari tag dengan nama


memory_limit = 32M
upload_max_filesize = 24M
max_file_uploads= 30M
post_max_size = 32M

Kemudian Restart Apache

[ Server ] Installasi Webserver di Ubuntu 16.04

Assalamualaikum Wr. Wb

Wah sudah lama saya tidak posting-posting di karenakan banyak kesibukan, mulai dari Kerjaan, sampai mengurus si buah hati.

Pada kesempatan ini, saya akan mencoba memberikan tutorial cara membangun Webserver pada Ubuntu 16.04, Latar belakang nya adalah ketika saya membangun sebuah aplikasi berbasis web, dan pada server kantor menggunakan server Debian, ketika melakukan deployment, banyak aplikasi yang Error, oleh karena itu saya akan coba di lokal saya dulu untuk installasi Aplikasi saya.

Oke kalo begitu, kita mulai installasinya.

PERSIAPAN

Pastikan Repo Terupdate dengan baik,

“apt-get Update”

INSTALLASI

Installasi APACHE2, PH5, MYSQL dengan perintah dibawah ini

“apt-get install apache2 php5 php5-mysql mysql-server mysql-client”

oiya untuk ubuntu 16.04 PHP5 sudah tidak ada didalam repostiory, yang tersedia adalah PHP7, oleh karena itu kita menggunakan PHP7

“apt-get install php7.0”

Secara default file konfigurasi Apache2 terletak di direktori /etc/apache2/Apache2.conf. Buka/edit lalu tambahkan script di bawah ini:

“Include /etc/apache2/site-enabled/*”

kemudian, configurasi User MYSQL, dengan perintah

“mysql -u root -p password”

masuk dengan password yang sudah dibuat ketika installasi, kemudian buat sebuah user MySQL lain sebagai pengguna dengan penyesuaian akses, dan juga sebagai pembeda dengan root.

“create user ‘user’@’localhost’ identified by ‘passworduser’;
flush privileges;”

Kemudian installasi PHPmyadmin

“apt-get install phpmyadmin”

Selesai, dan tinggal merestart Webservernya dan MYSQLnya

“service Apache2 restart; service mysql restart”

[ PHP ] – Extension Rar di PHP

Assalamualaikum Wr. Wb

Selamat Pagi, sudah lama saya tidak menulis Blog ini. Kali ini saya akan menulis tentang bagaimana menambahkan Extensio RAR untuk Kebutuhan Extrak File Rar dalam PHP.

Langkah-Langkahnya adalah

  1. Download Extensin Rar Pada Web dibawah ini :
  2. http://pecl.php.net/package/rar
  3. Cari Versi PHP yang sesuai dengan PHP anda, Disini PHP saya adala Versi 5.6
  4. Kemudian Pilih DLL List, Komputer saya menggunakan Windows 8.1 64 bit. Jadi saya mendownload :
  5. 5.6 Thread Safe (TS) x86
  6. Setelah download Extract File dan Copy kan isinya php_rar.dll ke Directory Ext yang ada di Xampp
  7. Directory saya ada di : D:\xampp\php\ext
  8. Kemudian Edit File php.ini yang ada di D:\xampp\php
  9. Tambahkan Extension File Rar di Php.Ini seperti dibawah ini
  10. Restart Apache nya, Kemudian Liat PHP.info yang ada di Dashboard Xampp
  11. Cek apakah Extension Rar sudah aktif, jika sudah akan muncul tampilan seperti dibawah ini

Untuk Linux bisa download yang versi tar.gz, Kemudian langkah2nya adalah sebagai berikut

  1. Download File Tar.gz :
  2. http://pecl.php.net/package/rar

  3. Kemudian Extrak file dengan perintah
  4. gunzip rar-xxx.tgz
    tar -xvf rar-xxx.tar
    cd rar-xxx
    phpize
    ./configure && make && make install

  5. setelah itu, pindah ke directory
  6. /etc/php/7.0/apache2/conf.d/

  7. disini saya memakai PHP versi 7, kemudian buat file dengan Nama :
  8. rar.ini

  9. Dengan isi :
  10. extension=rar.so

  11. setelah itu Restart apache dengan perintah :
  12. service apache2 restart

[ PHP ] – Codeigniter – Profilling

Assalamualikum.. apa sih profilling yang ada di codeigniter, coba kita tengok di web resminya di : Disini,

The Profiler Class will display benchmark results, queries you have run, and $_POST data at the bottom of your pages. This information can be useful during development in order to help with debugging and optimization.

Important:  This class does NOT need to be initialized. It is loaded automatically by the Output Class if profiling is enabled as shown below.”

Nah perintahnya adalah :

$this->output->enable_profiler(TRUE);

Taruh di paling bawah script controller,

profilling ini saya gunakan untuk melakukan debugging error untuk query seperti gambar dibawah ini :

peserta

Sekian dan terima kasih

[ PHP ] Codeigniter – cURL

Assalamualaikum Wr. wb

Pada kesempatan kali ini saya akan menerangkan bagaima cara penggunaan cUrl untuk pertukaran data antar server. Pertama- tama saya akan menjelaskan tentang cUrl itu sendiri, tapi yang paling penting adalah aktifkan extention cUrl pada file php.ini. extension=php_curl.dll.

Pengertian Curl

Curl merupakan librari php yang memungkinkan anda untuk mentransfer data melalui berbagai protokol. Curl ini, banyak digunakan sebagai cara untuk mengirim atau meminta data dari satu atau beberapa situs, termasuk didalamnya seperti interaksi API dan oAuth. Pada dasarnya permintaan dengan cURL tidak dibatasi dalam hal apapun, mirip seperti permintaan HTTP dasar, juga bisa untuk upload FTP dan yang lebih lebih kompleks interaksi otentifikasi dengan situs HTTPS tertutup. Nah pada postingan kali ini, kami akan menunjukan beberapa perbedaan sederhana penggunaan CURL antara permintaan GET dan permintaan POST 

Kenapa harus cUrl ??

Didalam PHP sebenarnya ada fungsi sejenis dan sangat mudah penggunaannya yaitu file_get_contents, tapi cURL memiliki beberapa kelebihan yaitu bisa menggunakan COOKIE dan bisa melakukan POST method. Karena ada beberapa website yang melindungi kontennya dengan menggunakan Cookie dan POST method, namun saya tidak menyarankan untuk mencuri konten menggunakan cURL.

Kapan harus pake cUrl??

Waktu yang tepat untuk menggunakan cURL adalah ketika kita ingin mengambil sebuah data dari sebuah website sebagai contoh mengambil rss timeline dari twitter kita, mengambil data dari bmkg untuk diterjemahkan menjadi data yang lebih enak dibaca.

Pengaturan Dasar cUrl

Sebelum kita mulai melakukan permintaan isi halaman dengan Curl, kita harus terlebih dahulu tahu instance dari Curl – anda dapat melakukan curl dengan memanggil fungsi curl_init(); yang mengembalikan data Curl. Fungsi ini membutuhkan satu parameter yang merupakan URL.

  • curl_init = memulai sesi cURL
  • curl_setopt = menentukan opsi-opsi sebelum menjalankan cURL.
  • curl_exec = menjalankaan cURL.
  • curl_close = menutup sesi cURL

kita dapat mengatur konfigurasi CURL dengan menggunakan metode curl_setopt(), yang mengambil tiga parameter yaitu: sumber Curl, konfigurasi dan nilai

berikut adalah CURLOPT optionnya :

CURLOPT_RETURNTRANSFER – Mengembalikan respon sebagai string
CURLOPT_CONNECTTIMEOUT – Mengembalikan Jumlah detik yang dihabiskan saat mencoba mengkoneksi
CURLOPT_TIMEOUT – Jumlah detik untuk cURL
CURLOPT_USERAGENT – Nilai Useragent digunakan untuk permintaan
CURLOPT_URL – URL untuk mengirim permintaan ke
CURLOPT_POST – Kirim permintaan sebagai POST
CURLOPT_POSTFIELDS – Array untuk data dalam permintaan POST

$url     = ” http://localhost/curl/data.php ” ;
$data   = array (
“name” => “farham”,
“age”       => “31”
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

 

Ketika semua opsi yang dikirim, dan permintaan siap untuk dikirim, kita dapat menggunakan metode curl_exec() untuk mengeksekusi permintaan Curl. Fungsi ini mengembali tiga nilai yang berbeda:

  • false – jika terjadi kesalahan saat mengeksekusi permintaan
  • true – jika permintaan dijalankan tanpa kesalahan dan CURLOPT_RETURNTRANSFER = false
  • result – jika permintaan dijalankan tanpa kesalahan dan CURLOPT_RETURNTRANSFER = true

 

Kesimpulannya

cURL sangat powerfull, dan memiliki banyak kemungkinan dalam penggunaannya. Beberapa situs mungkin hanya melayani permintaan pada halaman untuk beberapa user agent saja, dan ketika bekerja dengan API, beberapa kemungkinan harus anda perhatikan. Jika anda ingin bermain dengan beberapa permintaan Curl, sebaiknya anda mencoba beberapa library oAuth, seperti google, facebook, twitter.

 

 

Referensi : http://my-blog-fafa.blogspot.co.id/2013/05/teknik-dasar-menggunakan-curl.html, http://ebcyberhack.blogspot.co.id/2014/12/belajar-php-curl.html