Blog gw

Archive for the ‘PHP & perniknya’ Category

Mengizinkan semua tipe file bisa di upload pada Codeigniter

Posted by dillah2008 on November 5, 2009

Pada dasarnya framework Codeigniter membuat aturan agar developer dapat memilih tipe2 file apa saja yg bisa di upload, tujuannya sangat baik :)
Tapi dalam beberapa masalah diperlukan agar semua file bisa di upload dengan berbagai macam alasan kebutuhan.

Capek juga kalau harus memasukan list ekstension tersebut dalam config

$config['allowed_types'] = ‘gif|jpg|png|ods|xls|…|…|…’;

Setelah dicari maka didapat salah satu teknik yg dapat menyelesaikan masalah tersebut, yaitu dengan membuka file Upload.php pada path /system/libraries .
Pada function is_allowed_filetype() langsung saja dibuat return nya menjadi TRUE.

function is_allowed_filetype()
{
/*
if (count($this->allowed_types) == 0)
{
$this->set_error(‘upload_no_file_types’);
return FALSE;
}

foreach ($this->allowed_types as $val)
{
$mime = $this->mimes_types(strtolower($val));

if (is_array($mime))
{
if (in_array($this->file_type, $mime, TRUE))
{
return TRUE;
}
}
else
{
if ($mime == $this->file_type)
{
return TRUE;
}    
}        
}

return FALSE;
*/
return TRUE; //dillah yg nambah, tadinya yang diatas…
}

Posted in PHP & perniknya | Tagged: , , | Leave a Comment »

membuat rata kanan pada form input

Posted by dillah2008 on July 22, 2009

Sering kali kita perlu membuat tulisan dalam form inputan agar rata kanan, misalnya untuk memasukan format uang, ternyata ada settingan dalam inputan text,

<input type=”text” name=”frmTotalAmount” id=”textfield” disabled=”disabled” value=”256″ style=”text-align:right”/>

Semoga Bermanfaat :)

Posted in PHP & perniknya | Tagged: , , | Leave a Comment »

membuat format uang di javascript

Posted by dillah2008 on July 22, 2009

Sayang sekali javascript belum menyediakan fungsi untuk format uang seperti fungsi number_format() pada PHP. Akhirnya dapat fungsi untuk mengakali ini semua,

function add_commas(nStr){
nStr += ”;
x = nStr.split(‘,’);
x1 = x[0];
x2 = x.length > 1 ? ‘,’ + x[1] : ”;
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, ‘$1′ + ‘.’ + ‘$2′);
}
return x1 + x2;
}

Semoga bermanfaat

Posted in PHP & perniknya, knowledge | Tagged: , | Leave a Comment »

Melakukan penambahan elemen pada XML dengan PHP

Posted by dillah2008 on May 5, 2009

Kadang kita menghadapi masalah untuk menambahkan elemen data pada XML, pertama kali terpikir oleh gw adalah dengan menambahkan secara keseluruhan elemen datanya dengan cara menghapus semua dan kemudian membuat data barunya…tapi sepertinya cara ini kurang baik, dan setelah googling sana sini maka gw dapatkan info bahwa ada fasilitas di PHP untuk menambahkan elemen data.

Semisal ada sebuah file XML yang berisi seperti ini :

<?xml version=”1.0″ encoding=”UTF-8″?>
<root>
<candidate>
<candidatename>Robert</candidatename>
<candidatecity>New York</candidatecity>
<SSN>20072007</SSN>
<organization>XYZ Corp</organization>
<candidatedesignation>sapi</candidatedesignation>
</candidate>
<candidate>
<candidatename>Robert</candidatename>
<candidatecity>New York</candidatecity>
<SSN>20072007</SSN>
<organization>XYZ Corp</organization>
<candidatedesignation>babi</candidatedesignation></candidate>
</root>

Kemudian kita perlu menambahkan elemen data baru tepat dibawahnya, maka source php nya adalah sebagai berikut :

<?php

$xdoc = new DomDocument;
$xdoc->Load(‘candidate.xml’);
$candidate = $xdoc->getElementsByTagName(‘root’)->item(0);
$newElement = $xdoc ->createElement(“candidate”);
$newElement = $candidate -> appendChild($newElement);
$newElement->setAttribute(‘id’, 6);

$occ = $xdoc->createElement(‘ID’);
$occ = $newElement->appendChild($occ);

$value = $xdoc->createTextNode(‘52′);
$value = $occ->appendChild($value);
//$newElement->appendChild($xdoc->createTextNode(‘monyet’));

$test = $xdoc->save(“candidate.xml”);
echo “<B>New Element Created<B>”
?>

Maka XML nya akan menjadi seperti ini :

<?xml version=”1.0″ encoding=”UTF-8″?>
<root>
<candidate>
<candidatename>Robert</candidatename>
<candidatecity>New York</candidatecity>
<SSN>20072007</SSN>
<organization>XYZ Corp</organization>
<candidatedesignation>sapi</candidatedesignation>
</candidate>
<candidate>
<candidatename>Robert</candidatename>
<candidatecity>New York</candidatecity>
<SSN>20072007</SSN>
<organization>XYZ Corp</organization>
<candidatedesignation>babi</candidatedesignation></candidate>
<candidate id=”6″><ID>52</ID></candidate>
</root>

Semoga Bermanfaat….

Posted in PHP & perniknya, php | Tagged: , , | Leave a Comment »

Query XML dengan Xpath

Posted by dillah2008 on May 1, 2009

Kadang kala kita mengakali suatu masalah, saat ini masalah gw adalah gw tidak boleh menggunakan DB untuk mengambil data. Alternatif yang kemudian gw coba adalah dengan menggunakan XML, namun yang perlu diperhatikan adalah bagaimana caranya agar data di XML tersebut bisa di query layaknya seperti di DB. Setelah mencari kesana kesini akhirnya gw mendapatkan panduannya

<?xml version=”1.0″ encoding=”UTF-8″?>
<ROOT>
<MESSAGE id=”1″>
<USER>King</USER>
<TIME>2009-05-01 15:45:03</TIME>
<CONTENT>Halo…</CONTENT>
</MESSAGE>
<MESSAGE id=”2″>
<USER>Queen</USER>
<TIME>2009-05-01 15:45:05</TIME>
<CONTENT>Halo Juga…</CONTENT>
</MESSAGE>
<MESSAGE id=”3″>
<USER>King</USER>
<TIME>2009-05-01 15:45:15</TIME>
<CONTENT>Asl pls….</CONTENT>
</MESSAGE>
</ROOT>

Diatas adalah file XML (message.xml) yang akan dipergunakan sebagai data

<?php
//File: XPath.php

$dom = new DomDocument();
$dom->preserveWhiteSpace = false;
$dom->load(‘message.xml’);

$xpath = new DOMXPath($dom);
$query = “//MESSAGE[@id >= '1']/CONTENT”;
$emps = $xpath->query($query);
print ‘<font face=”Arial”>’;
print ‘<h3>Message</h3>’;
print ‘<table border=”1″ cellpadding=”5″><p>’;
print ‘<th>User</th><th>Time</th><th>Conten</th><p>’;
foreach ($emps as $emp) {
print ‘<tr><td>’.$emp->previousSibling->previousSibling->nodeValue.’</td><p>’;
print ‘<td>’.$emp->previousSibling->nodeValue.’</td><p>’;
print ‘<td>’.$emp->nodeValue.’</td></tr><p>’;
}
print ‘</table>’;
print ‘</font>’;
?>

Diatas adalah potongan program untuk mengambilnya

Semoga Bermanfaat :)

PS: source yang cukup bermanfaat didapatkan dari sini dan sini(contoh buat chat di PHP)

Posted in PHP & perniknya, php | Tagged: , , , | Leave a Comment »

Menonaktifkan firewall di fedora

Posted by dillah2008 on April 26, 2009

Masalah postgre yang ga bisa konek dari mesin yang beda selama ini kemungkinan dikarenakan firewall dari mesin fedoranya yang menolak koneksi ke port postre yang dipakan (5432), untuk menonaktifkan firewall tersebut gw mendapatkan caranya dari link ini, dan berikut caranya

# service iptables save
# service iptables stop
# chkconfig iptables off

Posted in 17499880, PHP & perniknya, linux, postgre | Tagged: , , , | Leave a Comment »

generate XML file with PHP5

Posted by dillah2008 on April 3, 2009

Sepertinya bakalan menggunaka XML nih, makanya sebagai persiapan gw coba men-generate XML dengan menggunakan PHP. Dikarenakan mulai dari PHP5 sudah mendukung XML, jadi sudah tidak perlu susah2 lagi untuk mem-parsing. Ini contoh sederhananya :

Read the rest of this entry »

Posted in PHP & perniknya, knowledge, php | Tagged: , | Leave a Comment »

Penjelasan fungsi array_splice() di PHP

Posted by dillah2008 on March 4, 2009

Kemarin ada teman kantor yang tanya2 mengenai pemecahan suatu masalah jika dengan menggunakan tools PHP, Hmmmm…sebenernya males juga sih mikirinnya karena kayaknya permasalahannya kok seakan-akan dibuat ribet :D , namun akhirnya didengerin juga dan mencoba mencari-cari fungsi PHP untuk menyelesaikan masalah tersebut.

Secara garis besar permasalahannya adalah bagaimana memasukan suatu elemen array baru dalam suatu variable array yang telah ada. Liat2 manual dapat fungsi array_splice() yang mungkin bs membantu. Masalah kemudian yang muncul adalah bagaimana penjelasan menggunakannya…heheehhe, agak sulit memahami fungsi ini jika hanya membaca sekilas, mungkin karena kemampuan inggris yang ngepas dan juga rada LOLA :p .

Setelah membaca berulang kali akhirnya gw mendapatkan beberapa kesimpulan mengenai parameter yang dipergunakan, kesimpulan yang gw dapat antara lain sebagai berikut :

  • Offset : jika variabel offset nya bernilai positif maka diambil elemen array sebanyak n (dimulai dari kanan, dan yang pertama dihitung 1 bukan 0), sedangkan jika variabel offset nya bernilai negatif maka sebanyak n elemen di hilangkan (dimulai dari kiri, dan yang pertama dihitung 1 bukan 0).
  • Length : jika variable length bernilai positif maka hapus sebanyak n elemen dihitung mulai dari setelah offset, sedangkan jika length nya bernilai negatif maka diambil elemen sebanyak n yang dimualai dari kanan ke kiri.

Catatan ini dibuat dengan harapan gw ga lupa lagi, dan kali saja dapat bermanfaat bagi orang lain :)

Posted in PHP & perniknya, php | Tagged: , , , , | Leave a Comment »

mencari umur di postgre

Posted by dillah2008 on January 14, 2009

Postgre memiliki fungsi untuk mencari umur(malah mendetail sampai bulan dan harinya), berikut contoh SQL untuk menampilkan umur dalam tahun saja

select extract(year from age(access_stamp,birth_date)) as umur from tbl_cust where cust_code is not null and birth_date is not null order by umur

Contoh diatas adalah membandingkan dua buah field yaitu field access_stamp(bertipe date) dikurangkan dengan field birth_date(bertipe date). Jika untuk menampilkan full tahun bulan dan harinya hanya cukup menggunakan ini

select age(birth_date) from tbl_cust where cust_code is not null

Semoga bermanfaat :)

Posted in PHP & perniknya, knowledge | Leave a Comment »

Backup DB di Postgre

Posted by dillah2008 on December 17, 2008

Disadur dari : http://www.cyberciti.biz/tips/howto-backup-postgresql-databases.html

Step # 1: Login as a pgsql user

Type the following command:
$ su - pgsql
Get list of database(s) to backup:
$ psql -l

Step # 2: Make a backup using pg_dump

Backup database using pg_dump command. pg_dump is a utility for backing up a PostgreSQL database. It dumps only one database at a time. General syntax:
pg_dump databasename > outputfile

Task: dump a payroll database

Type the following command
$ pg_dump payroll > payroll.dump.outTo restore a payroll database:
$ psql -d payroll -f payroll.dump.outOR$ createdb payroll
$ psql payroll
However, in real life you need to compress database:$ pg_dump payroll | gzip -c > payroll.dump.out.gzTo restore database use the following command:$ gunzip payroll.dump.out.gz
$ psql -d payroll -f payroll.dump.out

Here is a shell script for same task:

#!/bin/bash
DIR=/backup/psql
[ ! $DIR ] && mkdir -p $DIR || :
LIST=$(psql -l | awk '{ print $1}' | grep -vE '^-|^List|^Name|template[0|1]')
for d in $LIST
do
  pg_dump $d | gzip -c >  $DIR/$d.out.gz
done

Another option is use to pg_dumpall command. As a name suggest it dumps (backs up) each database, and preserves cluster-wide data such as users and groups. You can use it as follows:$ pg_dumpall > all.dbs.outOR$ pg_dumpall | gzip -c > all.dbs.out.gzTo restore backup use the following command:
$ psql -f all.dbs.out postgres

Posted in PHP & perniknya, php | Tagged: , , | Leave a Comment »