PHP Code สำหรับเรียกใช้งาน
<?php // ฟังก์ชันการติดกับ server ผ่าน FTP function ftpOpen() { // กำหนดค่าการติดต่อ FTP $ftp_user_name = 'username'; // userane $ftp_user_pass = 'password'; // password $ftp_server = 'www.example.com'; // server $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); return $conn_id; } // ฟังก์ชันสำหรับกำหนด permissions function ftpChmod($conn_id, $permissions,$parentDir,$nameDir){ $fullPath=$parentDir.$nameDir; $isDir=ftp_chdir($conn_id,$fullPath); ftp_chdir($conn_id,$parentDir); // ไปที่โฟลเดอร์หลักที่จะใช้งาน if($isDir){ if(ftp_site($conn_id, 'CHMOD '.$permissions.' '.$fullPath) !== false){ return true; }else{ return false; } } } // ฟังก์ชันสำหรับสร้าง Directory หรือ Folder function ftpMakeDir($conn_id,$parentDir,$nameDir){ $fullPath=$parentDir.$nameDir; $isDir=ftp_chdir($conn_id,$fullPath); ftp_chdir($conn_id,$parentDir); // ไปที่โฟลเดอร์หลักที่จะใช้งาน if(!$isDir){ if(ftp_mkdir($conn_id,$nameDir)) { return true; }else{ return false; } } } // ฟังก์ชันสำหรับลบ Directory หรือ Folder (ลบเฉพาะโฟลเดอร์ทีมีไฟล์ และไม่มีโฟลเดอร์ภายใน) function ftpRemoveDir($conn_id,$parentDir,$nameDir){ $fullPath=$parentDir.$nameDir; $isDir=ftp_chdir($conn_id,$fullPath); ftp_chdir($conn_id,$parentDir); // ไปที่โฟลเดอร์หลักที่จะใช้งาน if($isDir){ $contents = ftp_nlist($conn_id,$fullPath); if(count($contents)>=3){ ftp_chdir($conn_id,$fullPath); foreach($contents as $key=>$value){ if(!is_dir(basename($value))){ ftp_site($conn_id, 'CHMOD 0777 '.$value); ftp_delete($conn_id,$value); } } ftp_chdir($conn_id,$parentDir); if(ftp_rmdir($conn_id,$nameDir)) { return true; }else{ if(ftp_site($conn_id, 'CHMOD 0777 '.$fullPath)){ if(ftp_rmdir($conn_id,$nameDir)) { return true; }else{ return false; } }else{ return false; } } }else{ if(ftp_rmdir($conn_id,$nameDir)) { return true; }else{ if(ftp_site($conn_id, 'CHMOD 0777 '.$fullPath)){ if(ftp_rmdir($conn_id,$nameDir)) { return true; }else{ return false; } }else{ return false; } } } } } // ฟังก์ชันสำหรับเปลี่ยนชื่อ Directory หรือ Folder function ftpRenameDir($conn_id,$parentDir,$nameDir,$newNameDir){ $fullPath=$parentDir.$nameDir; $isDir=ftp_chdir($conn_id,$fullPath); ftp_chdir($conn_id,$parentDir); if($isDir){ if(ftp_rename($conn_id,$nameDir,$newNameDir)) { return true; }else{ if(ftp_site($conn_id, 'CHMOD 0777 '.$fullPath)){ if(ftp_rename($conn_id,$nameDir,$newNameDir)) { return true; }else{ return false; } }else{ return false; } } } } // ฟังก์ชันปิดการเชื่อมต่อ Server ผ่าน FTP function ftpClose($conn_id){ ftp_close($conn_id); } ?>
การใช้งาน
<?php $parentDir="/domains/example.com/public_html/demo/"; // Directory หลักสำหรับจัดการ $nameDir="myfolder"; // ฃื่อ Directory ที่ต้องการสร้าง, กำหนด permissions, ลบ, หรือเปลี่ยนชื่อ $newNameDir="myNewFolder"; // ชื่อ Directory ใหม่กรณีเปลี่ยนชื่อ Directory $conn_id = ftpOpen(); // เปิดการเชื่อมต่อผ่าน FTP if($conn_id){ // สร้าง Directory ftpMakeDir($conn_id,$parentDir,$nameDir); // กำหนด permission // ftpChmod($conn_id, "0777",$parentDir,$nameDir); // ลบ Directory // ftpRemoveDir($conn_id,$parentDir,$nameDir); // เปลี่ยนชื่อ Directory // ftpRenameDir($conn_id,$parentDir,$nameDir,$newNameDir); ftpClose($conn_id); // ปิดการติดต่อผ่าน FTP } ?>