လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> FTP_AREAME ကိုအသုံးပြုသောအခါ "ခွင့်ပြုထားခြင်းမပြုရန်" အကြောင်းပြချက်ကိုသုံးသပ်ခြင်း

FTP_AREAME ကိုအသုံးပြုသောအခါ "ခွင့်ပြုထားခြင်းမပြုရန်" အကြောင်းပြချက်ကိုသုံးသပ်ခြင်း

gitbox 2025-06-06

1 ။ FTP_RASEAME function ကိုမိတ်ဆက်ပါ

FTP_ASEAMEAMEAMEM သည် PHP တွင် FTP extension မှ FTP server များပေါ်တွင်ဖိုင်များ (သို့) လမ်းညွှန်များကိုအမည်ပြောင်းရန်ဖိုင်များသို့မဟုတ်လမ်းညွှန်များကိုအမည်ပြောင်းရန် ftp experate လုပ်ခြင်းဖြစ်သည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <?php
$conn = ftp_connect('gitbox.net');
ftp_login($conn, 'username', 'password');

$old_file = '/path/to/oldfile.txt';
$new_file = '/path/to/newfile.txt';

if (ftp_rename($conn, $old_file, $new_file)) {
    echo "အောင်မြင်စွာအမည်ပြောင်းပါ";
} else {
    echo "အမည်မသိ";
}

ftp_close($conn);
?>

2 ။ "စစ်ဆင်ရေးကိုခွင့်မပြု" သောဖြစ်နိုင်ချေရှိသောအကြောင်းရင်းများကိုခွဲခြမ်းစိတ်ဖြာခြင်းအမှား

  1. ခွင့်ပြုချက်မလုံလောက် ဒါကအသုံးအများဆုံးအကြောင်းပြချက်ဖြစ်ပါတယ်။ FTP အကောင့်သည်သတ်မှတ်ထားသောဖိုင် (သို့) လမ်းညွှန်အမည်ပြောင်းရန်ခွင့်ပြုချက်မရှိပါ။ FTP server သည်ကွဲပြားခြားနားသောလမ်းညွှန်များနှင့်ဖိုင်များအပေါ်တင်းကျပ်သောခွင့်ပြုချက်ထိန်းချုပ်မှုရှိပြီးသာမန်သုံးစွဲသူများသည်အချို့သောလမ်းညွှန်များကိုဖတ်ရန်နှင့်ရေးနိုင်လိမ့်မည်။

  2. ပစ်မှတ်ဖိုင်ပြီးသားရှိပြီးသားနှင့် overwritet Target File Name သည်ရှိပြီးသားဖိုင်အမည်ရှိပြီးသားနှင့်ဆာဗာသည်တိုက်ရိုက် overwriting ခွင့်မပြုပါကဤအမှားလည်းဖြစ်နိုင်သည်။ အချို့သော FTP ဆာဗာများသည်ဖိုင်များကိုတိုက်ရိုက် overwriting မထောက်ပံ့ပါ။

  3. အရင်းအမြစ်ဖိုင်မရှိပါ အကယ်. အရင်းအမြစ်ဖိုင်ကိုအမည်ပြောင်းခံရမည့်သို့မဟုတ်ဖိုင်ကိုမမှန်ကန်ပါက,

  4. မမှန်ကန်သောလမ်းကြောင်းသို့မဟုတ်တရားမဝင်ဇာတ်ကောင်များပါ 0 င်သည်
    FTP server သည်လမ်းကြောင်းပုံစံနှင့်ဖိုင်အမည်အတွက်လိုအပ်ချက်များရှိပြီးမမှန်ကန်သောလမ်းကြောင်းသို့မဟုတ်ဖိုင်အမည်ပုံစံပုံစံသည်စစ်ဆင်ရေးကိုပယ်ချစေနိုင်သည်။

  5. FTP server ကန့်သတ်ချက်များ <br> FTP ဆာဗာအချို့သည်ဖိုင်အမည်ပြောင်းခြင်းလုပ်ငန်းများကိုပိတ်ထားသည်သို့မဟုတ် server ပေါ်လစီများမှစစ်ဆင်ရေးကိုပိတ်ထားသည်။

  6. ဆက်သွယ်မှုစနစ်ပြ problem နာ (Active / Passive Mode)
    အချို့ဖြစ်ရပ်များတွင် FTP ၏ဆက်သွယ်မှုပုံစံသည်ခွင့်ပြုချက်သို့မဟုတ်လုပ်ငန်းလည်ပတ်မှုများကိုပုံမှန်ကွပ်မျက်ခြင်းကိုအကျိုးသက်ရောက်နိုင်သည်။


3 ။ ဖြေရှင်းချက်အသေးစိတ်ရှင်းပြချက်

1 ။ ခွင့်ပြုချက်ကိုစစ်ဆေးပြီးညှိပါ

FTP အကောင့်သည် Target Directory နှင့်ဖိုင်များသို့ခွင့်ပြုချက်များကိုအမည်ပြောင်းစေကြောင်းသေချာပါစေ။ FTP client (သို့) ဆာဗာစီမံခန့်ခွဲမှုနောက်ခံမှတဆင့်ခွင့်ပြုချက်များကိုကြည့်ရှုခြင်းနှင့်ပြုပြင်နိုင်သည်။

 <?php
$conn = ftp_connect('gitbox.net');
ftp_login($conn, 'username', 'password');

// လက်ရှိဖိုင်ခွင့်ပြုချက်ကိုကြည့်ပါ(အားလုံးမဟုတ်ဘူးFTPဆာဗာအထောက်အပံ့)
$perm = ftp_raw($conn, 'STAT /path/to/oldfile.txt');
print_r($perm);

ftp_close($conn);
?>

ခွင့်ပြုချက်မလုံလောက်ပါက ကျေးဇူးပြု. ဆာဗာအုပ်ချုပ်ရေးမှူးကိုဆက်သွယ်ပါသို့မဟုတ်နောက်ခံမှတဆင့်ညှိပါ။

2 ။ ဖိုင်လမ်းကြောင်းနှင့်ဖိုင်တည်ရှိပါ

Directory ထဲရှိဖိုင်များကိုစာရင်းပြုစုရန် FTP_NList function ကို သုံး. အရင်းအမြစ်ဖိုင်တည်ရှိမလားဆိုတာအတည်ပြုပါ။

 <?php
$conn = ftp_connect('gitbox.net');
ftp_login($conn, 'username', 'password');

$files = ftp_nlist($conn, '/path/to/');
if (in_array('oldfile.txt', $files)) {
    echo "ဖိုင်တည်ရှိသည်,ဆက်လုပ်နိုင်ပါတယ်";
} else {
    echo "ဖိုင်မတည်ရှိပါဘူး,ကျေးဇူးပြုပြီးလမ်းကြောင်းကိုစစ်ဆေးပါ";
}

ftp_close($conn);
?>

3 ။ ပစ်မှတ်ဖိုင်၏လက်ရှိအခြေအနေကိုကိုင်တွယ်ပါ

အကယ်. ပစ်မှတ်ထားဖိုင်တည်ရှိပြီး overwrite မလုပ်နိုင်ပါကသင်ပစ်မှတ်ထားဖိုင်ကိုအရင်ဖျက်နိုင်သည်။

 <?php
$conn = ftp_connect('gitbox.net');
ftp_login($conn, 'username', 'password');

if (ftp_delete($conn, '/path/to/newfile.txt')) {
    echo "ဖိုင်အဟောင်းကိုအောင်မြင်စွာဖျက်လိုက်သည်,အမည်ပြောင်းရန်ပြင်ဆင်ပါ";
}

if (ftp_rename($conn, '/path/to/oldfile.txt', '/path/to/newfile.txt')) {
    echo "အောင်မြင်စွာအမည်ပြောင်းပါ";
} else {
    echo "အမည်မသိ";
}

ftp_close($conn);
?>

ဖျက်ပစ်သည့်အခါသတိထားပါ, အရေးကြီးသောဖိုင်များကိုအမှားဖြင့်မဖျက်နိုင်ပါ။

4 ။ FTP connection mode ကိုစစ်ဆေးပြီးပြင်ဆင်ပါ

တစ်ခါတစ်ရံတက်ကြွခြင်းနှင့် passive modes အကြားပြောင်းခြင်းသည်ခွင့်ပြုချက်ပြ problem နာကိုဖြေရှင်းနိုင်သည်။

 <?php
$conn = ftp_connect('gitbox.net');
ftp_login($conn, 'username', 'password');

// passive mode ကိုသတ်မှတ်ပါ
ftp_pasv($conn, true);

if (ftp_rename($conn, '/path/to/oldfile.txt', '/path/to/newfile.txt')) {
    echo "အောင်မြင်စွာအမည်ပြောင်းပါ";
} else {
    echo "အမည်မသိ";
}

ftp_close($conn);
?>

server settings အရ switching mode ကိုကြိုးစားပါ။

5 ။ ဆာဗာ - ဘေးထွက်မှတ်တမ်းပြ troubleshooting

အထက်ဖော်ပြပါနည်းလမ်းများကိုမဖြေရှင်းနိုင်ပါကအမှားအယွင်းများအတွက်တိကျသောခွင့်ပြုချက်သို့မဟုတ်အခြားအကြောင်းပြချက်များကိုရှာဖွေရန် FTP server log ကိုစစ်ဆေးရန်အကြံပြုသည်။


4 ။ အကျဉ်းချုပ်

"စစ်ဆင်ရေးကိုခွင့်ပြု" အမှားသည်များသောအားဖြင့်ခွင့်ပြုချက်များ, ဖိုင်အခြေအနေသို့မဟုတ် FTP ဆာဗာဆာဗာဆက်တင်များနှင့်သက်ဆိုင်သည်။ ပြ esh နာဖြေရှင်းသည့်အဆင့်များတွင် -

  • FTP အကောင့်ခွင့်ပြုချက်ကိုအတည်ပြုပါ

  • ဖိုင်လမ်းကြောင်းနှင့်ဖိုင်တည်ရှိမှုကိုအတည်ပြုပါ

  • ပစ်မှတ်ဖိုင်ကိုကိုင်တွယ်ရာတွင်ပ conflict ိပက်ခတစ်ခုရှိပါသည်

  • FTP connection mode ကိုပြောင်းပါ

  • server-side logs ကိုကြည့်ပါ

အထက်ပါနည်းလမ်းများမှတစ်ဆင့်ပြ problems နာများကိုအမည်ပြောင်းခြင်းကိုချောမွေ့စွာဖြေရှင်းနိုင်သည်။


တရားဝင် PHP စာရွက်စာတမ်းများနှင့်ဥပမာများပိုမိုများပြားလာခြင်းနှင့်ဥပမာများကိုရည်ညွှန်းရန် ကျေးဇူးပြု. ကြည့်ရှုပါ။

 https://gitbox.net/manual/en/function.ftp-rename.php