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
}
?>