လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် CGI ဖိုင်တင်ခြင်းနှင့်ဒေါင်းလုပ် - အသေးစိတ်သင်ခန်းစာများနှင့်နမူနာကုဒ်

PHP နှင့် CGI ဖိုင်တင်ခြင်းနှင့်ဒေါင်းလုပ် - အသေးစိတ်သင်ခန်းစာများနှင့်နမူနာကုဒ်

M66 2025-06-16

PHP နှင့် CGI ဖိုင်တင်ခြင်းနှင့်ဒေါင်းလုပ် - အသေးစိတ်သင်ခန်းစာများနှင့်နမူနာကုဒ်

ဖိုင်တင်ခြင်းနှင့်ဒေါင်းလုပ်ပြုလုပ်ခြင်းသည်ခေတ်သစ် web applications များတွင်ဘုံအင်္ဂါရပ်များထဲမှတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP နှင့် CGI ပရိုဂရမ်များကို အသုံးပြု. Functions ဖိုင်များကိုဖြည့်ဆည်းပေးရန်နှင့်လုပ်ဆောင်ချက်များကိုဒေါင်းလုပ် လုပ်. ဒေါင်းလုပ်လုပ်ရန်နှင့်တင်ထားသောဖိုင်များကိုမည်သို့စီမံခန့်ခွဲရမည်ကိုပြသရန်ဥပမာအချို့ကိုပြသပါမည်။

ဒီမှာငါတို့ဖုံးကွယ်သွားမှာပါ။

  1. ဖိုင်တင်ခြင်း၏အခြေခံအယူအဆများ
  2. PHP သည် File Upload ဖိုင်တင်ခြင်း
  3. CGI အကောင်အထည်ဖော်မှုဖိုင်တင်ခြင်းကိုအကောင်အထည်ဖော်ပါ
  4. File Download ၏အခြေခံသဘောတရားများ
  5. PHP ဖိုင်ကူးယူခြင်း
  6. CGI ဖိုင်ကူးယူခြင်း

ဖိုင်တင်ခြင်း၏အခြေခံသဘောတရားများ -

ဖိုင်တင်ခြင်းသည်ဖိုင်များကို client computer computer မှဆာဗာသို့လွှဲပြောင်းခြင်းလုပ်ငန်းစဉ်ဖြစ်သည်။ ဖိုင်တင်ခြင်းကိုများသောအားဖြင့်ဓာတ်ပုံများ, စာရွက်စာတမ်းများ, အသံသို့မဟုတ်ဗွီဒီယိုများကဲ့သို့သောမာလ်တီမီဒီယာဖိုင်များကိုဆာဗာသို့တင်သွင်းရန်အသုံးပြုသူများအသုံးပြုသည်။

PHP သည်ဖိုင်တင်ခြင်းကိုအကောင်အထည်ဖော်သည်။

အောက်ဖော်ပြပါ PHP ကို ​​အသုံးပြု. ဖိုင်တင်ခြင်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည့်ရိုးရှင်းသော PHP Code Signe Php Code Php PHP ကုဒ်ပါ။

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="ဖိုင်တင်ပါ" name="submit">
</form>

<?php
if (isset($_POST["submit"])) {
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
    move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);
    echo "File uploaded successfully!";
}
?>

အထက်ပါကုဒ်တွင်အသုံးပြုသူသည်ဖိုင်ကိုတင်ရန်ဖိုင်ကိုရွေးချယ်နိုင်သော HTML ပုံစံတစ်ခုကို ဦး စွာဖန်တီးသည်။ အသုံးပြုသူသည် "Upload file" ခလုတ်ကိုနှိပ်လိုက်သောအခါပုံစံဒေတာကို upload.php ဖိုင်ကိုတင်ရန်တင်သွင်းလိမ့်မည်။ Upload.php ဖိုင်တွင်ပစ်မှတ်ထားသည့် upload လမ်းညွှန်လမ်းကြောင်းကို ဦး စွာသတ်မှတ်ပြီးတင်ထားသောဖိုင်ကိုပစ်မှတ်လမ်းညွှန်သို့ပြောင်းရန် Move_uploaded_File () function ကိုသုံးပါ။

CGI သည်ဖိုင်တင်ခြင်းကိုအကောင်အထည်ဖော်ရန် -

အောက်ဖော်ပြပါသည် CGI script ၏ဥပမာတစ်ခုမှာ CGI ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။

#! / usr / bin / perl
CGI ကိုသုံးပါ။

ကျွန်ုပ်၏ $ CGI = CGI-> အသစ်,
$ cgi-> header ကိုပုံနှိပ်ပါ။
ပုံနှိပ် < <END_HTML;
    <form action="/cgi-bin/upload.cgi" enctype="multipart/form-data" method="post">
        <input type="file" name="fileToUpload">
        <input type="submit" value="ဖိုင်တင်ပါ" name="submit">
    </form>
end_html

IF ($ cgi-> Param ("တင်ရန်"))
    ကျွန်ုပ်၏ $ upload_dir = "/ လမ်းကြောင်း / မှ / uploads /" ",
    ကျွန်ုပ်၏ $ file = $ cgi-> upload ("fileToupload");
    ကျွန်ုပ်၏ $ filename = $ cgi-> Param ("filetoled");
    ကျွန်ုပ်၏ $ Target_File = $ upload_dir ။ $ filename;
    ပွင့်လင်း (ကျွန်ုပ်၏ $ fh, &#39;&#39;> &#39;&#39;, $ target_file) သို့မဟုတ်သေဆုံးသည်။ ;
    စဉ် (ကျွန်ုပ်၏ $ bytesread = ဖတ်ခြင်း ($ file, My $ buffer, 1024))
        $ fh $ ကြားခံပုံနှိပ်;
    }
    FH ကိုပိတ်ပါ။
    ပုံနှိပ် "ဖိုင်တင်ခြင်းကိုအောင်မြင်စွာတင်ပါ။ "
}

အထက်ပါကုဒ်သည် Perl CGI script ဖြစ်သည်။ CGI module ကို အသုံးပြု. ကျွန်ုပ်တို့သည်ပုံစံအချက်အလက်များကိုအလွယ်တကူလုပ်ဆောင်နိုင်သည်။ script တွင်ကျွန်ုပ်တို့ပထမ ဦး ဆုံး HTML form တစ်ခုကိုဖန်တီးရန်အသုံးပြုသူကိုတင်ရန်ဖိုင်ကိုရွေးချယ်နိုင်သော HTML form ကိုဖန်တီးသည်။ အသုံးပြုသူသည် "Upload file" ခလုတ်ကိုနှိပ်လိုက်သောအခါပုံစံဒေတာကို upload.cgi script သို့တင်သွင်းလိမ့်မည်။ script တွင် file upload directory သို့လမ်းကြောင်းကိုပထမ ဦး ဆုံးသတ်မှတ်ပြီးတင်ထားသောဖိုင်ကိုပစ်မှတ်ဖိုင်သို့သိမ်းဆည်းရန် upload () function ကိုသုံးပါ။

File Download ၏အခြေခံသဘောတရားများ -

File download သည်ဖိုင်များကိုဆာဗာမှဖိုင်များကို client client client ကိုလွှဲပြောင်းခြင်းလုပ်ငန်းစဉ်ဖြစ်သည်။ ဖိုင်များကိုအသုံးပြုသူများကို 0 က်ဘ်အပလီကေးရှင်းမှလိုအပ်သောဖိုင်များကိုရရန်ဖိုင်များသုံးစွဲသူများကိုမကြာခဏအသုံးပြုလေ့ရှိသည်။

PHP အကောင်အထည်ဖော်မှုဖိုင်ကိုဒေါင်းလုပ်:

အောက်ဖော်ပြပါ PHP ကို ​​အသုံးပြု. ဖိုင်ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည့်ရိုးရှင်းသော PHP ကုဒ်နံပါတ်ဖြစ်သည်။

<?php
$file = "path/to/file.pdf";
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename='" . basename($file) . "'");
header("Content-Length: " . filesize($file));
readfile($file);
?>

အထက်ပါကုဒ်တွင်ဖိုင်သို့လမ်းကြောင်းကိုပထမ ဦး စွာသတ်မှတ်သည်။ ထို့နောက် HTTP တုန့်ပြန်မှုခေါင်းစဉ်ကိုသတ်မှတ်ရန် HTTP တုန့်ပြန်မှုခေါင်းစဉ်သတင်းအချက်အလက်များကိုထည့်သွင်းရန် header () function ကိုသုံးပါ။ နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်ဖိုင်အမျိုးအစားကိုဖတ်ရန်နှင့် 0 န်ဆောင်မှုခံယူသူအားထုတ်ပေးရန် Readfile () function ကိုသုံးသည်။

CGI အကောင်အထည်ဖော်မှုဖိုင်ကိုဒေါင်းလုပ်:

အောက်ဖော်ပြပါသည် CGI script ၏ဥပမာတစ်ခုမှာ CGI ကို အသုံးပြု. ဖိုင်ကိုဒေါင်းလုပ်ဆွဲရန်အတွက်မည်သို့အသုံးပြုရမည်ကိုပြသသည်။

#! / usr / bin / perl
CGI ကိုသုံးပါ။
CGI :: Carp QW (FatalstoBrowroser) ကိုသုံးပါ။

ကျွန်ုပ်၏ $ CGI = CGI-> အသစ်,
ကျွန်ုပ်၏ $ file = "/path/to/File.pdf";

$ cgi-> header (-type => &#39;application / octet-octt-stream ပုံနှိပ်ခြင်း, -attachment => Basename ($ file));
ပွင့်လင်း (ကျွန်ုပ်၏ $ f သည် &#39;<&#39;, $ file) သို့မဟုတ်သေဆုံးပါ။ ;
binmode ($ fh);
စဉ် (<$ fh>) {
    ပုံနှိပ် $ _;
}
FH ကိုပိတ်ပါ။

ဤဥပမာတွင် download လုပ်မည့်ဖိုင်သို့လမ်းကြောင်းကို ဦး စွာသတ်မှတ်သည်။ ထို့နောက် HTTP တုန့်ပြန်မှုခေါင်းစဉ်သတင်းအချက်အလက်ကိုသတ်မှတ်ရန် header () function ကို သုံး. ဖိုင်ကိုပူးတွဲဖိုင်တစ်ခုအဖြစ်ဒေါင်းလုပ်လုပ်ပါ။ နောက်ဆုံးတွင်ကျွန်ုပ်တို့သည်ဖိုင်ကိုဖွင့်ရန်ပွင့်လင်းသော () function ကိုအသုံးပြုသည်။

အကျဉ်းချုပ်:

ဤဆောင်းပါးသည် PHP နှင့် CGI ပရိုဂရမ်းမင်းဘာသာစကားများကို အသုံးပြု. ဖိုင်တင်ခြင်းကိုအကောင်အထည်ဖော်ရန်နှင့် functions များကိုဒေါင်းလုပ်လုပ်ရန်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးသည်။ စာဖတ်သူများသည်တင်ထားသောနှင့်ကူးယူထားသောဖိုင်များကိုမည်သို့စီမံရမည်ကိုနားလည်ရန်စာဖတ်သူများကိုကူညီရန်ကုဒ်များကိုကျွန်ုပ်တို့ပေးသည်။ ဤနည်းပညာများကိုလေ့လာခြင်းနှင့်အသုံးပြုခြင်းအားဖြင့်သင်၏ 0 က်ဘ်အပလီကေးရှင်းများတွင်ဖိုင်စီမံခန့်ခွဲမှုလုပ်ငန်းများကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။