File System PHP

Tuesday, January 28, 2014

Kegunaan fungsi file system di PHP

Nama FungsiKeterangan
basenameMenghasilkan nama file dari satu path
chmodMengubah mode akses file
chownMengubah pemilik file
copyMeng-copy file
dirnameMenghasilkan nama direktori dari suatu path file
disk_free_spaceMenampilkan baki space disk pada satu direktori
disk_total_spaceMenghasilkan jumlah size direktori
fcloseMenutup file yang dibuka
fgetcMengambil karakter-karakter dalam satu file teks
fgetsMengambil baris-baris dari file
file_existsPastikan satu file atau direktori wujud atau tidak
file_get_contentsMembaca isi file keseluruhan
file_put_contentsMenulis teks ke file
fileMembaca isi file ke dalam array
fileatimeMendapatkan waktu akses terakhir suatu file
filesizeMendapatkan ukuran file
filetypeMendapatkan tipe file
fopenMembuka file atau URL
is_dirPastikan satu filename itu adakah satu direktori
is_executablePastikan apakah filename boleh di execute
is_filePastikan apakah filename itu adakah satu file
is_readablePastikan filename boleh dibaca
is_writablePastikan filename boleh ditambah kemaskini kontennya
mkdirMembuat direktori
move_uploaded_fileMemindahkan file yang diupload ke lokasi baru
renameRename file atau direktori
rmdirPadam direktori
unlinkPadam file

basename

Fungsinya : Menghasilkan nama file dari suatu path
Sintaks php :
basename ( string $path [, string $suffix ] )
Parameter :
$path, adalah alamat file dengan lokasi direktorinya, contoh : /var/www/gambar/fileku.jpg
$suffix, akan menghilangkan akhirannya sesuai string $suffix

Contoh penggunaan: 
$path = "/home/httpd/html/index.php";
$file = basename($path);
echo $file;                         //Hasilnya index.php

$file = basename($path, ".php");
echo $file;                         //Hasilnya index
?>

chmod

Fungsinya : Mengubah mode akses file, untuk linux, unix
Sintaks php :

chmod ( string $filename , int $mode )
Contoh penggunaan :
// Read dan write hanya untuk pemilik
chmod("/direktori/filesaya", 0600);
// Pemilik boleh buat apa sahaja, read dan execute untuk others
chmod("/direktori/filesaya", 0755); 
?>

chown

Fungsinya : Mengubah pemilik file
Sintaks php :
chown ( string $filename , mixed $user )
Contoh penggunaan:
$file_name= "foo.php";
$path = "/home/sites/php.net/public_html/sandbox" . $file_name ;
$user_name = "root";
// Set pemilik file
chown($path, $user_name);
?>

copy

Fungsinya : Mengcopy file
Sintaks php :
copy ( string $source , string $dest [, resource $context ] )
Parameter :
$source , adalah file yang akan dicopy
$dest, adalah file tujuan
Contoh penggunaan :
$file = 'upload.php';
$newfile = 'uploadcopy.php';
if (!copy($file, $newfile)) {
    echo "gagal copy file $file...\n";
}else{
    echo "File $file berhasil di copy";
}
?>

dirname

Fungsinya : Menghasilkan nama direktori dari suatu path file
Sintaks php :
dirname ( string $path )
Contoh penggunaan :
$path = "/www/gambar/pic.jpg";
$file = dirname($path);
echo $file;
//Hasilnya /www/gambar
?>

disk_free_space

Fungsinya : Menghasilkan sisa space disk suatu direktori (dalam bytes)
Sintaks php :
disk_free_space ( string $directory )
Contoh penggunaan :
//linux, unix
$df = disk_free_space("/"); 
//Windows:
echo disk_free_space("C:");
echo disk_free_space("D:");
?>

disk_total_space

Fungsinya : Menghasilkan total size direktori (dalam bytes)
Sintaks php :
disk_total_space ( string $directory )
Contoh penggunaan :
//linux , unix
$df = disk_total_space("/");

//Windows:
echo disk_total_space("C:");
echo disk_total_space("D:");
?>

fclose

Fungsinya : Menutup file yang dibuka
Sintaks php :
fclose ( resource $handle )
Contoh penggunaan :
$file = fopen('somefile.txt', 'r');
fclose($file);
?>

fgetc

Fungsinya : Mengambil karakter-karakter suatu file teks
Sintaks php :
fgetc ( resource $handle )
Contoh penggunaan :
Misal anda punya filesaya.txt, yang isinya : 
namaorang
$fp = fopen('filesaya.txt', 'r');
if (!$fp) {
    echo 'filesaya.txt tidak ada';
}
while (false !== ($char = fgetc($fp))) {
    echo "$char";
}
?>
Hasilnya : n a m a o r a n g

fgets

Fungsinya : Mengambil baris-baris dari file
Sintaks php :
fgets ( resource $handle [, int $length ] )
Parameter :
$handle, adalah file yang akan diambil barisnya
$length, adalah panjang/ukuran file, isi aja kira kira yang melebihi panjang file
Contoh penggunaan :
$handle = @fopen("filesaya.txt", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgets($handle, 1000000);
        echo $buffer;
    }
    fclose($handle);
}
?>

file_exists

Fungsinya : Cek apakah file atau direktori tersebut ada
Sintaks php :
file_exists ( string $filename )
Contoh penggunaan :
$filename = 'filesaya.txt'; 
if (file_exists($filename)) {
    echo "File $filename ada";
} else {
    echo "File $filename tidak ada";
}
?>

file_get_contents

Fungsinya : Membaca isi file/ web keseluruhan menjadi string
Sintaks php :
file_get_contents ( string $filename [, int $flags= 0 [, resource $context [, int $offset= -1 
[, int $maxlen= -1 ]]]] )
Parameter :
$filename, file atau web yang akan dibaca isinya
Contoh penggunaan :
$homepage = file_get_contents('http://ayus80.blogspot.com/');
echo $homepage;
?>

file_put_contents

Fungsinya : Menulis teks ke file
Sintaks php :
file_put_contents ( string $filename , mixed $data [, int $flags= 0 [, resource $context ]] )
$filename, file yang akan ditulis
$data, data yang akan ditulis ke file, boleh string atau array
$flags, option, FILE_APPEND (jika file sudah ada, teks akan ditambahkan)
Contoh penggunaan :
$file = 'data.txt';
$nama = 'nama orang';
file_put_contents($file, $nama);
?>
Contoh di atas akan membuat file data.txt dan menuliskan 'nama orang' di dalam data.txt

file

Fungsinya : Membaca isi file perbatis, dimasukkan ke dalam array
Sintaks php :
file ( string $filename [, int $flags= 0 [, resource $context ]] )
Parameter :
$filenama, file yang akan dibaca isinya
$flags, option :
  • FILE_IGNORE_NEW_LINES  : Jangan tambahkan baris baru di akhir elemen array
  • FILE_SKIP_EMPTY_LINES  : Abaikan baris yang kosong
Contoh penggunaan :
$lines = file('filesaya.txt');
print_r($lines);
?>

fileatime

Fungsinya : Mendapatkan waktu akses terakhir suatu file
Sintaks php :
fileatime ( string $filename )
Contoh penggunaan :
$filename = 'filesaya.txt';
if (file_exists($filename)) {
    echo "$filename terakhir kali diakses pada: ";
 echo date("F d Y H:i:s.", fileatime($filename));
}
//filesaya.txt terakhir kali diakses pada: January 28 2014 10:02:12
?>

filesize

Fungsinya : Mendapatkan ukuran file
Sintaks php :
filesize ( string $filename )
Contoh penggunaan:
$filename = 'filesaya.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';
?>

filetype

Fungsinya : Mendapatkan tipe file
Sintaks php :
filetype ( string $filename )
Contoh penggunaan :
echo filetype('filesaya.txt');  // file
echo filetype('/var/');         // dir
?>

fopen

Fungsinya : Membuka file atau URL
Sintaks php :
fopen ( string $filename , string $mode [, bool $use_include_path= false [, resource $context ]] )
$filename, namafile atau URL
$mode :
mode
Description
'r'Dibuka hanya untuk untuk dibaca; pointer diletakkan di awal file
'r+'Dibuka untuk dobaca dan ditulis; pointer diletakkan di awal file
'w'Dibuka hanya untuk ditulis; pointer diletakkan diawal file, jika file tidak ada, akan dibuat automatik
'w+'Dibuka untuk dibaca dan ditulis; pointer diletakkan diawal file, jika file tidak ada, akan dibuat automatik
'a'Dibuka hanya untuk ditulis; pointer diletakkan di akhir file, jika file belum ada, akan dibuat automatik.
'a+'Dibuka hanya untuk dibaca dan ditulis; pointer diletakkan di akhir file, jika file belum ada, akan dibuat automatik.
Contoh penggunaan :
$handle = fopen("/home/pentaho/file.txt", "r+");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>

is_dir

Fungsinya: Cek apakah filename adalah sebuah directori
Sintaks php :
is_dir ( string $filename )
Contoh penggunaan :
if(is_dir('filesaya.txt')){
    echo "Ini adalah direktori";
}else{
    echo "Ini adalah file";
}
?>

is_executable

Fungsinya: Pastikan apakah filename boleh di execute
Sintaks php :
is_executable ( string $filename )
Contoh penggunaan :
$file = 'filesaya.txt';

if (is_executable($file)) {
    echo $file.' boleh diexecute';
} else {
    echo $file.' tidak boleh diexecute';
}
?>

is_file

Fungsinya: Cek apakah filename adalah sebuah file
Sitaks php :
is_file ( string $filename )
Contoh penggunaan :
if(is_file('filesaya.txt')){
    echo "Ini adalah file";
}else{
    echo "Ini bukan file";
}
?>

is_readable

Fungsinya: Pastikan apakah filename boleh dibaca
Sintaks php :
is_readable ( string $filename )
Contoh penggunaan :
if(is_readable('filesaya.txt')){
    echo "file ini boleh dibaca";
}else{
    echo "file ini tidak boleh dibaca";
}
?>

is_writable

Fungsinya: Cek apakah filename boleh ditulis
Sintaks php :
is_writable ( string $filename )
Contoh penggunaan :
if(is_writable('filesaya.txt')){
    echo "file ini boleh ditulis";
}else{
    echo "file ini tidak boleh ditulis";
}
?>

mkdir

Fungsinya: Membuat direktori
Sintaks php:
mkdir ( string $pathname [, int $mode= 0777 [, bool $recursive= false [, resource $context ]]] )
Contoh penggunaan :
mkdir("gambar", 0700);
?>

move_uploaded_file

Fungsinya: Memindahkan file yang diupload ke lokasi baru
Sintaks php :
move_uploaded_file ( string $filename , string $destination )
Contoh penggunaan :
Upload multiple file
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

rename

Fungsinya: Rename file atau directori
Sintaks php :
rename ( string $oldname , string $newname [, resource $context ] )
Contoh penggunaan :
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>

rmdir

Fungsinya: Delete direktori
Sintaks php :
rmdir ( string $dirname [, resource $context ] )
Contoh penggunaan :
rmdir('examples');
?>

unlink

Fungsinya: Delete file 
Sintaks php :
unlink ( string $filename [, resource $context ] )
Contoh penggunaan :
unlink('test.html');
?>


Validate Checkbox

Friday, October 18, 2013

Sama seperti isu sebelum ini. Ini validate di mana user perlu pilih sekurang-kurangnya satu checkbox.

Masalah yang sama timbul. Jika satu sahaja data, array tidak berjalan. Jadi, check dahulu samada array cuma satu data sahaja atau lebih.


 <html>  
  <head>  
   <title>Mi-Scramble</title>  
 <SCRIPT LANGUAGE="JavaScript">  
 <!-- Begin  
 function validatePwd() {  
 if(document.getElementsByName('userassign[]').length == 1)  
 {  
  if(document.myForm.userassign.checked)  
  {  
   return true;  
  } else {  
   alert ("You must select minimum one user! ");  
   return false;  
  }  
 } else {  
  var flag = 0;  
  for (var i = 0; i< document.getElementsByName('userassign[]').length; i++) {  
  if(document.myForm["userassign[]"][i].checked){  
   flag ++;  
   }  
  }  
  if (flag < 1) {  
  alert ("You must select minimum one user!");  
   return false;  
  }  
  return true;  
  }  
 }  
 </script>  
 </head>  
 <body>  
 <form action="assignuserupd.php" method="post" name=myForm onSubmit="return validatePwd()">  
     <table class="responsive table table-striped">  
      <thead>  
      <tr>  
       <th style="">User Name</th>                
       <th>Action</th>  
      </tr>   
      </thead>  
      <tbody>  
 <?php   
 $sqlrtbl="SQL";  
 $resulrtbl=pg_query($sqlrtbl);  
 while($rowr = pg_fetch_assoc($resulrtbl))  
 {  
 ?>           
      <tr>  
       <td><?php echo $rowr['username']; ?></td>     
       <td>  
        <input type="checkbox" name="userassign[]" value="<?php echo $rowr['username']; ?>">  
       </td>  
      </tr>  
 <?php  
 }   
 ?>    
      <tr>  
       <td colspan="2" align="right">  
         <input type="submit" value="Submit" class="btn btn-primary">  
       </td>  
      </tr>   
     </tbody>  
     </table>  
 </form>  
  </body>  
 </html>  

Sourcecode for blogspot http://codeformatter.blogspot.com/

Validate Radio Button

Sekiranya cuma ada 1 sahaja radio button, array tak jalan. Tak boleh nak check guna kaedah array. Jadi, pisahkan. Jika jumpa satu, check seperti biasa, jika lebih, baru buat checking guna array.

if(document.getElementsByName('namatbl').length == 1){ }else { }

Dalam isu ni, user mesti pilih satu radio button.

 <html>  
  <head>  
   <title>Mi-Scramble</title>  
 <SCRIPT LANGUAGE="JavaScript">  
 <!-- Begin  
 function validatePwd() {  
 if(document.getElementsByName('namatbl').length == 1)  
 {  
  if(document.myForm.namatbl.checked)  
  {  
   return true;  
  } else {  
   alert ("You must select one table! ");  
   return false;  
  }  
 } else {  
  var flag = 0;                       
  for (var i = 0; i< document.myForm.namatbl.length; i++) {     
  if(document.myForm.namatbl[i].checked){  
   flag++;   
   }  
  }  
  if (flag < 1) {  
   alert ("You must select one table! ");  
   return false;  
  }  
  return true;  
  }  
 }  
 </script>  
 </head>  
 <body>  
 <form action="assignuserselect.php" method="post" name=myForm onSubmit="return validatePwd();">  
     <table class="responsive table table-striped">    
      <tr>  
       <th>Server</th>   
       <th>Database</th>  
       <th>Table</th>  
       <th>Action</th>       
      </tr>  
 <?php   
 $sqlrtbl="SQL";  
 $resulrtbl=pg_query($sqlrtbl);  
 while($rowr = pg_fetch_assoc($resulrtbl))  
 {  
 ?>   
      <tr>  
       <td><?php echo $rowr['server']; ?></td>   
       <td><?php echo $rowr['dbname']; ?></td>  
       <td><?php echo $rowr['dbtbl']; ?></td>  
       <td><input type="radio" name="namatbl" value="<?php echo $rowr['dbtbl']; ?>"></td>                
      </tr>    
 <?php  
 }  
 if(!$namatable)  
 {  
 ?>   
      <tr>  
       <td colspan="4"><font color="red"><center>No scrambled table from you.</center></font></td>              
      </tr>    
 <?php  
 }  
 ?>  
      <tr>  
       <td>&nbsp;</td>   
       <td>&nbsp;</td>  
       <td>&nbsp;</td>  
       <td>  
       <?php if($namatable) { ?>  
        <input class="btn btn-primary" type="submit" value="Submit">  
       <?php } ?>  
       </td>                
      </tr>    
     </table>  
 </form>  
  </body>  
 </html>  

Sourcecode for blogspot http://codeformatter.blogspot.com/

MySQL 5.5 Encode Base64

Monday, July 01, 2013

Seringkali pengguna MySQL version 5.5 dan ke bawah mengalami masalah apabila sesuatu data itu perlu diencode atau sebaliknya. Masalah MySQL tidak menyediakan fungsi tersebut.

Secara defaultnya ketika ini, apabila kita membuat installation, MySQL akan memberikan kita versi 5.5.

Jika mahu menggunakan fungsi encode base64, MySQL sediada perlu ditukar kepada MySQL version 5.6.

Ada sesetengah orang, mereka mahu menggunakan MySQL version sedia ada. Jadi, mereka perlu menambah function tersebut ke dalam application MySQL.

Kita tidak perlu susah berfikir bagaimana untuk membuat coding dan compile ke dalam aplikasi tersebut. Guna sahaja apa yang telah disediakan oleh Y.Kentaro ini.

Ini Sesuai untuk pengguna Linux.

Cara untuk install. Pada paparan terminal, download dan compile code tersebut.

 $ git clone https://github.com/y-ken/mysql-udf-base64.git  
 $ cd mysql-udf-base64  
 $ gcc -Wall -fPIC -I/usr/local/include -shared base64.c -o base64.so  
 $ sudo install -m 755 base64.so `mysql_config --plugindir`  


Selesai install, kita perlu cipta function tersebut ke dalam MySQL.

Masuk pula ke dalam application.

 mysql> CREATE FUNCTION base64encode RETURNS STRING SONAME 'base64.so';  
 mysql> CREATE FUNCTION base64decode RETURNS STRING SONAME 'base64.so';  


Selepas itu, kita boleh cuba melihat keberkesanannya.

 mysql> SELECT base64encode(nama) FROM tablesample;  


Sedikit Masalah Setelah dicuba, memang ianya berjaya. Tetapi masalah timbul, bila proses ini dilakukan bersama dengan encryption aes, hasilnya tidak dapat seperti data asal.

Contoh Encode:
 select base64encode(aes_encrypt('firdaus', 111)) from dual;  

 Result:   IcCTWM8Recp QE HRTBQ==   

Decode:
 select base64encode(aes_encrypt(' IcCTWM8Recp QE HRTBQ==', 111)) from dual;  

 Result: WC8ARIk1 q5+ gVKcUZcSQCU mEkCQAN b9x NR8LvA=  


Mungkin terdapat beberapa perkara yang saya terlepas pandang. Jadi, masalah ini akan saya lihat kemudian.


Peringatan: Semasa kita buat installation MySQL, kita perlu install MySQL library untuk development. Jika tidak, compilation akan gagal dan keluar error.
untuk install, hanya dapatkan sahaja dari repository.
 $ apt-get install libmysqlclient-dev  

Rujukan: https://github.com/y-ken/mysql-udf-base64

Form Validation jQuery Ringkas

Saturday, February 09, 2013

Ini contoh mudah bagaimana hendak membuat semakan sama ada input dimasukkan atau tidak pada form menggunakan jquery. Kita anggap html di bawah sudah berada di dalam framework bootstrap. Jadi <div>, <class> semua tu tak perlu diambil kisah.

<html>
<head>
<title>Test</title>

<script type="text/javascript" src="script/jquery-x.x.x.min.js"></script>
<script type="text/javascript">
function checklogin() {
    var userpass,usernama,output = true;

 usernama = document.logmasuk.myusername;
 userpass = document.logmasuk.mypassword;
 $("#userpassMessage").text("").removeClass("label label-danger");
 $("#userpassMessage").text("").removeClass("label label-danger");

    if(!usernama.value) {
        usernama.focus();
        $("#myusername").innerHTML = "required";
        $("#usernamaMessage").text("Masukkan username!").toggleClass("label label-danger");
        output = false;
    }   
    if(!userpass.value) {
        userpass.focus();
        $("#mypassword").innerHTML = "required";
        $("#userpassMessage").text("Masukkan password!").toggleClass("label label-danger");
        output = false;
    }   
    return output;
}
</script> 
</head>
<body>
<form action="checklogin.php" method="post" name="logmasuk" onSubmit="return checklogin();">

 <div class="input-icon right">
  <i class="fa fa-user"></i>
  <input id="myusername" type="text" placeholder="username" class="form-control" name="myusername" />
  <span id="usernamaMessage"></span>
 </div>    

 <div class="input-icon right">
  <i class="fa fa-lock"></i>
  <input id="mypassword" type="password" placeholder="password" class="form-control" name="mypassword" />
  <span id="userpassMessage"></span>
 </div>

 <div class="col-lg-9">
  <button type="submit" class="btn btn-default" name="Submit">Sign In</button>
 </div>

</form>
</body>
</html>

Panggil file js jquery pada header html. Ikutlah versi jquery mana yang disukai tapi pastikan ianya berjalan. Lagi baik yang terkini.

<script type="text/javascript" src="script/jquery-x.x.x.min.js"></script>

Cipta function untuk buat semakan. Sebagai contoh, function checklogin() {}. Function ini boleh dibuat di dalam <head> mahupun <body>. Apa yang penting, file jquery.js mestilah di dalam head, bukan body. Di dalam function ini, letak code untuk buat semakan.

Declare siap-siap dan dapatkan valuenya dengan memanggil data dari form. Dalam jquery, kita gunakan document, diikuti dengan nama form.

var userpass,usernama,output = true;
usernama = document.logmasuk.myusername;
userpass = document.logmasuk.mypassword;

Dalam jquery, bila kita guna tanda ni #,ia merujuk kepada ID sesuatu element dalam html tersebut. Jika dilihat pada code, kita guna <input id="myusername"... dan dalam js kita panggil semula menggunakan $("#myusername")...

removeClass digunakan pada awal code supaya javascript bersihkan dulu jika ada error sebelum ini yang telah terpapar.

Bagi keterangan lanjut dalam hal ini, rujuk jQuery Selectors

Ini digunakan bagi memasukkan text dan class ke dalam html <span id="usernamaMessage">.

$("#usernamaMessage").text("Masukkan username!").toggleClass("label label-danger");

Di dalam jQuery, biasakan diri menggunakan id berbanding name. Selain untuk elemen form, id juga boleh digunakan untuk elemen-elemen lain dalam html seperti <p>, <span>, <h1> dan lain-lain. Dan jquery boleh bermain dengan semua ini, bukan dengan form sahaja.

MySQL, dari localhost kepada IP Address

Thursday, August 02, 2012

Situasi
Install MySQL pada localhost, tetapi apabila hendak digunakan, kita dikehendaki menggunakan alamat IP, bukan localhost.

Sesetengah tempat, mereka tidak benarkan menggunakan perkataan 'localhost'. Mungkin nampak tidak secure atau tidak professional.

Penyelesaian
Di sini kita jadikan PHP sebagai contoh untuk diuji. Manakala IP localhost adalah 12.34.56.78.

Biasanya kita guna.

 $con = mysql_connect("localhost","loginsaya","mypassword");  


Tetapi dikehendaki menggunakan IP.
 $con = mysql_connect("12.34.56.78","loginsaya","mypassword");  


Apabila dijalankan connection seperti di atas, kita akan dapat error sebegini
 Could not connect: Can't connect to MySQL server on '12.34.56.78' (111)  


Itu bermakna, kita perlu setting alamat IP localhost kita pada setting MySQL.

Jadi, update file my.cnf. Lokasinya perlu dicari. Biasanya ada di /etc/. Dalam kes saya, ia ada di /etc/mysql/my.cnf
 vi /etc/mysql/my.cnf  


Cari setting bind-address, dan masukkan IP untuk localhost tersebut. Setting ini berada di bahagian [mysqld]. Secara default, bind-address = 127.0.0.1
 [mysqld]  
 bind-address      = 12.34.56.78  


Save. Kemudian, restart mysql.
 /etc/init.d/mysql restart  


Kemudian, cuba jalankan semula. Done.

Masalah lagi
Sesetengah keadaan, masih juga belum boleh membaca database. Keluar error sebegini pula.
 Could not connect: Host '10.1.9.79' is not allowed to connect to this MySQL server  


Ini bermakna, apabila user "loginsaya" itu menggunakan IP Address, tiada privilege untuk akses database tersebut. Berikan privilege.

Masuk ke screen database dan jalankan script grant privilege ini.
 GRANT ALL PRIVILEGES ON  
 namaDatabase.*   
 TO  
 'loginsaya'@'%';  
 FLUSH PRIVILEGES;  


Jika database tersebut tidak menggunakan password, privilege di atas adalah betul. Jika tidak, ia akan keluar error sebegini.
 Could not connect: Access denied for user 'loginsaya'@'12.34.56.78' (using password: YES)  


Jalankan semula script di atas, dengan menambah perkataan identified by password.

 GRANT ALL PRIVILEGES ON  
 namaDatabase.*   
 TO  
 'loginsaya'@'%'  
 IDENTIFIED BY 'mypassword';  
 FLUSH PRIVILEGES;  


Done.

Ms-Excel Cipta Query Bagi Data Berulang

Saturday, January 21, 2012

Jika ada sedikit data dalam excel, mahu jadikan SQL query.


="INSERT INTO mg_senarai_laporan VALUES ('', '"& A1 &"', '"& B1 &"');"


Buka Dan Tutup Pop-up Browser

Wednesday, October 20, 2010

Apabila kita perlu membuka page baru tanpa menganggu page sedia ada, biasanya kita akan menggunakan kaedah pop-up. Di bawah adalah contoh mudah bagi situasi sebegini.

Secara ringkasnya, terdapat dua page iaitu main page (index.html) dan child page (test.html). Main page akan berikan akses untuk buka page secara popup, manakala child bersedia untuk ditutup tanpa menganggu page utama.

Pada page index.html, gunakan window.open() dengan nilai atribut _blank supaya ia buka page baru. Nilai height dan width juga ikut saiz screen sedia ada. Jadi, ia akan buka fullscreen. Jika mahu setkan pada saiz tertentu, masukkan sahaja nilai yang kita mahu. Sebagai contoh, height=570,width=520. Ada beberapa lagi spec yang boleh dimasukkan seperti scrollbars, location dan lain-lain.

/* index.html */
<!DOCTYPE html>
<html>
<head>
</head>

<body>
<p>Ini adalah parent page.</p>
<a onclick="window.open('test.html', '_blank', 'height='+screen.height+', width='+screen.width);">Buka Page</a>
</body>
</html>

Pada child page iaitu test.html, sediakan akses untuk menutup page dirinya sendiri iaitu menggunakan code self.close().

/* test.html */
<html>
<head>
</head>

<body>
<p>Ini adalah child page.</p>
<input type="button" value="Close this window" onclick="self.close()"><br>
</body>
</html> 

Bagi arahan self.close() ini, ia hanya berfungsi sekiranya ia dipanggil melalui parent page. Jika dibuka secara terus dengan menaip di url, ianya tidak berfungsi.

Basic HTML Table Using PHP

Monday, September 06, 2010

Update this post

_______________________________________

 <?php  
 $kira = 13;  
 $j = 1;  
 ?>  
 <table width="20%" border="1">  
 <tr>  
 <?php  
 for ($i=1; $i<=$kira; $i++)  
 {  
 ?>  
 <td><? echo $i; ?></td>  
 <?php  
 if ($i%4 == 0)  
 {  
 echo "</tr><tr>";  
 $j++;  
 }  
 }  
 //bahagian bawah ini tambahan kemudian  
 //variable $j, $patut dan $perlu adalah tambahan dari post yang lepas  
 $patut = $j * 4;  
 $perlu = $patut - $i + 1;  
 for ($i=1; $i<=$perlu; $i++)  
 {  
 ?>  
 <td><? echo $i; ?></td>  
 <?php } ?>  
 </tr>  
 </table>  

Carian String Dalam File di Linux

Wednesday, June 23, 2010

Kadang-kadang kita lupa code yang kita buat berada di dalam file yang mana satu. Lebih-lebih lagi bila file code terlalu banyak. Ada pelbagai cara untuk mengatasi masalah ini.

Jika menggunakan Notepad++, Sublime Text, atau apa-apa text editor, kita boleh buat search merentasi file. Jika di windows, pada command prompt, guna findstr.

Dalam ni kita fokus jika menggunakan linux. Jika dalam linux, gunakan arahan grep. Grep ini banyak kegunaan untuk buat carian. Boleh cari menggunakan regular expression, cari bilangan baris code dan macam-macam lagi.

Bagi kes sekadar nak cari perkataan, gunakan arahan grep diikuti perkataan yang hendak dicari dan lokasi senarai file.

Sebagai contoh, kita mahu cari perkataan "pengguna" di dalam semua file 'php' yang berada di /var/www/html/sistembaru/.

# grep --color -R "pengguna" /var/www/html/sistembaru/*.php

Tetapi jika perkataan tersebut menggunakan simbol-simbol yang sedia digunakan oleh regular-expression, kita tidak boleh menggunakan tanda ", kita perlu tukar guna tanda '. Tanda ' akan ignore itu sebagai regular expression.

# grep --color -R 'currencymyr($strn)' /var/www/html/sistembaru/*.php

Hasil dari carian di atas, akan paparkan code panjang lebar walaupun perkataan yang dijumpai itu satu sahaja. Bagi mengatasi masalah ini, kita minta supaya dipaparkan satu baris keputusan sahaja, disertakan dengan pemberitahuan line keberapa perkataan itu dijumpai. Gunakan -n bagi tujuan tersebut.

# grep --color -R -n 'currencymyr($strn)' /var/www/html/sistembaru/*.php

PHP if Lebih Ringkas

Thursday, June 17, 2010

Memendekkan if statement. Biasanya kita gunakan seperti ini.

<?PHP
if($condition){
        $nilai="1";
    } else {
       $nilai="2";
}
?>

 

Tukarkan begini pula. Lebih ringkas dan menjimatkan byte code.

<?PHP
/*if statement yang pendek*/
($condition)? $nilai="1" : $nilai="2";
 
/*if statement yang lebih pendek*/
$nilai=($condition)? "1" : "2";
?>

Copy table

Monday, May 03, 2010

select rowid, tsirms217400.* from tsirms217400

select * from tsirms203400

insert into TSIRMS217400 (BCODE, LOTNO, QUANTITY,TIME_STAT, USRNAME,
STATUS, TIME_UPD)
select BCODE, LOTNO, QUANTITY, TIME_STAMP, 'MMD', '1', sysdate
from tsirms203400
where rowid='AAAzHVAAhAAAFiRAAA'

PHP Function Koma Pada Nombor

Tuesday, April 06, 2010

Apabila kita mahu gunakan nombor sebagai currency, boleh sahaja kita panggil menggunakan fungsi yang telah disediakan oleh PHP. Tetapi post ini sekadar berkongsi bagaimana menggunakan function yang dicipta sendiri.

Apabila kita diberi nilai matawang dalam bentuk dua titik perpuluhan, tanpa koma bagi setiap ribu, juta dan billion, kita buat sahaja function sendiri untuk memaparkan koma tersebut. Kalau tidak, gunakan sahaja function yang PHP sediakan seperti money_format atau formatCurrency.

<?php
function currencymyr($strn)
{
 $str = strrev($strn);
 $arr1 = str_split($str);
 $nilai = "";
 for($i=0; $i<count($arr1); $i++)
 {
  if(($i === 6) || ($i === 9) || ($i === 12)) { $nilai .= ","; }
  $nilai .= $arr1[$i];
 }
 $nilai = strrev($nilai);
 return $nilai;
}

$str2 = "34888373785.09";
echo currencymyr($str2); //34,888,373,785.09
?>

Cipta satu function, kemudian panggil semula apabila hendak menggunakannya. Seperti contoh di atas, kita akan dapat hasil koma setiap selang 3 aksara pada nombor yang diberi. Pada ketika $i=6 baru kita mula menambah koma, kerana ketika $i=2 sudah ada titik perpuluhan.

Dalam PHP, fungsi strrev untuk reverse string, manakala fungsi str_split untuk memecahkan setiap huruf di dalam satu perkataan menjadi satu kumpulan array.

Sebenarnya terpulang pada kita nak buat macam mana, asalkan hasilnya seperti yang kita mahu. Seperti contoh di atas, tidak semestinya perlu guna strrev, boleh sahaja gunakan array_reverse selepas guna str_split. Atau tak perlu reverse array, gunakan sahaja kaedah for($i=count($arr1); $i>=0; $i=$i-1) dan sebagainya.

Code Kegunaan Blog

Friday, March 12, 2010

Jika mahu highlight code, dalam blogspot boleh diletakkan dalam <code> dan tutup semula dengan </code>.

Jika tidak menarik, boleh ditambah css sedikit untuk lebih cantik. Contoh:

<code style="padding: 2px 4px; font-size: 90%; color: #c7254e; white-space: nowrap; background-color: #f9f2f4; border-radius: 4px;">Letak code</code>

Contoh:

<code style="padding: 2px 4px; font-size: 90%; color: #c7254e; white-space: nowrap; background-color: #f9f2f4; border-radius: 4px;"><div>bla bla bla</div>, <class>yada yada yada</class></code>

Hasilnya seperti di bawah:

<div>bla bla bla</div>, <class></class></code>

Gunakan simbol html di bawah untuk kes yang memerlukan simbol pembuka dan penutup kod.

&lt; = < 
&gt; = >