Tulisan ini bermula saat saya akan melakukan copy blog dari blog saya blog.tommybudiawan.com ke website ini www.tommybudiawan.com dengan menggunakan FTP Client FileZilla. Ternyata FileZilla tidak dapat melakukan copy folder, hanya dapat melakukan upload dan download file/folder serta move (memindahkan file/folder ke direktori lain).
Oleh sebab itu saya melakukan pencarian bagaimana caranya mengcopy folder “blog” ke folder “www” beserta seluruh subfolder dan file-file didalamnya, karena saya berfikir tidak mungkin saya akan donwload seluruh folder “blog” kemudian upload lagi ke folder “www”, pasti sangat lama dan tidak efektif, pasti ada cara yang lebih baik.
Saya terus memaksakan diri untuk melakukan pencarian tetang FTP Client yang bisa melakukan copy folder, sampai saya bertanya dengan Mas Aryo, kenapa tidak memakai PHP saja? Benar, kenapa tidak pakai PHP saja! Saya tinggalkan FTP Client, kemudian memulai pencarian tetang copy direktori dengan PHP.
Dalam proses pencarian, saya mememukan beberapa fungsi PHP untuk melakukan copy direktory, Mas Aryo pun memberikan contoh script yang menurut saya terlalu panjang dan rumit, sampai saya memenukan sebuah fungsi yang cukup simple dan mudah saya pahami.
Script tersebut saya upload ke hosting dan saya jalankan, copy folder dengan seluruh isinya telah berhasil. Fungsi yang saya pakai tersebut bisa dilihat pada script PHP dibawah ini :
<?
/**
* Tommy Budiawan
* www.tommybudawan.com
**/
function copyr($source, $dest)
{
// Simple copy for a file
if (is_file($source)) {
return copy($source, $dest);
}
// Make destination directory
if (!is_dir($dest)) {
mkdir($dest);
}
// If the source is a symlink
if (is_link($source)) {
$link_dest = readlink($source);
return symlink($link_dest, $dest);
}
// Loop through the folder
$dir = dir($source);
while (false !== $entry = $dir->read()) {
// Skip pointers
if ($entry == '.' || $entry == '..') {
continue;
}
// Deep copy directories
if ($dest !== "$source/$entry") {
copyr("$source/$entry", "$dest/$entry");
}
}
// Clean up
$dir->close();
return true;
}
?>
Contoh pemakaian fungsi diatas adalah sebagai berikut :
<?
copyr("/home/public_html/blog","/home/public_html/www") ;
?>


Artikel Terkait
Belum ada komentar, berikan komentar Anda pada tulisan ini.
Mengisi Komentar :
- Yang diberi tanda bintang (*) wajib diisi dengan benar.
- Komentar yang memiliki 2 tautan atau lebih akan ditahan.