|
ÆÞ ÀÀ¿ë - Á¦ 6° Win32::Internet »ç¿ëÀÚ ±æÀâÀÌ - °è¼Ó
FTP ÇÔ¼ö
ÀϹÝÀû ¼³¸í
¸ðµç ¸Þ¼Òµå´Â ¸Þ¼Òµå¸¦ È£ÃâÇϱâ Àü¿¡ ´ÙÀ½°ú °°Àº ÇàÀ» °¡Áö°í ÀÖ´Â °ÍÀ¸·Î °¡Á¤ÇÑ´Ù:
use Win32::Internet;
$INET = new Win32::Internet();
$INET->FTP($FTP, "hostname", "username", "password");
´Ù¸¥ ¸»·ÎÇϸé $INET¶ó´Â ÀÎÅÍ³Ý °³Ã¼¿Í $FTP¶ó´Â ¿·ÁÁø FTP ¼¼¼ÇÀ» °¡Áö°í ÀÖ´Â °ÍÀ¸·Î °¡Á¤ÇÑ´Ù.
º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â new¿Í FTP¸¦ º»´Ù.
¸Þ¼Òµå
- Ascii
- Asc
- FTP ¼¼¼Ç¿¡´ëÇØ ASCII Àü¼Û¸ðµå¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ °ÍÀº À̾îÁö´Â Get ÇÔ¼ö¿¡ Àû¿ëµÉ °ÍÀÌ´Ù. ¶ÇÇÑ Binary ¿Í Mode ÇÔ¼ö¸¦ º»´Ù.
¿¹:
$FTP->Ascii();
- Binary
- Bin
- FTP ¼¼¼Ç¿¡´ëÇØ 2Áø Àü¼Û¸ðµå¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ °ÍÀº À̾îÁö´Â Get ÇÔ¼ö¿¡ Àû¿ëµÉ °ÍÀÌ´Ù. ¶ÇÇÑ Ascii ¿Í Mode ÇÔ¼ö¸¦ º»´Ù.
¿¹:
$FTP->Binary();
- Cd path
- Cwd path
- Chdir path
- ¿ø°Ý FTP È£½ºÆ®ÀÇ ÇöÀç µð·ºÅ丮¸¦ º¯°æÇÑ´Ù. ÀϹÝÀûÀ¸·Î path¸¦ ¸®ÅÏÇϸç, ¿À·ù ¹ß»ý½Ã undefÀ» ¸®ÅÏÇÑ´Ù.
¿¹:
$FTP->Cd("/pub");
- Delete file
- Del file
- ¿÷°Ý FTP È£½ºÆ®ÀÇ ÆÄÀÏÀ» »èÁ¦ÇÑ´Ù. ¿À·ù ¹ß»ý½Ã undef¸¦ ¸®ÅÏÇÑ´Ù.
¿¹:
$FTP->Delete("110-i86.zip");
- Get remote, [local, overwrite, flags, context]
- remote FTP ¼¹öÀÇ ÆÄÀÏÀ» °¡Á®¿Í¼ local¿¡ ÀúÀåÇÑ´Ù. ¸¸¾à localÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é remote¿Í °°Àº À̸§ÀÌ »ç¿ëµÈ´Ù. ¿À·ù°¡ ¹ß»ýÇϸé undef°¡ ¸®ÅϵȴÙ.
¸Å°³º¯¼ö¿Í °ªÀº ´ÙÀ½°ú °°´Ù:
¸Å°³º¯¼ö |
ÀÇ¹Ì |
±âº»°ª |
remote |
¿÷°Ý FTP ¼¹öÀÇ ÆÄÀϸí. |
¾øÀ½ |
local |
»ý¼ºÇÒ ·ÎÄ® ÆÄÀϸí. |
remote |
overwrite |
"0"À̸é ÆÄÀÏÀÌ Á¸ÀçÇÏ´Â °æ¿ì localÀ» °ãó¾´´Ù. "0" ÀÌ¿ÜÀÇ °ªÀ» ÁöÁ¤Çϸé, ·ÎÄ®¿¡ ÆÄÀÏÀÌ Á¸ÀçÇÏ´Â °æ¿ì, µ¿ÀÛÀº ½ÇÆÐÇÑ´Ù. |
0 |
flags |
ÇÔ¼öÀÇ µ¿ÀÛ¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â Ãß°¡ÀûÀÎ Ç÷¢ |
¾øÀ½ |
context |
ºñµ¿±âÀΰæ¿ì ÀÌ µ¿ÀÛÀ» È®ÀÎÇÏ´Â ¹øÈ£. ºñµ¿±â µ¿ÀÛ¿¡´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ »çÇ×Àº SetStatusCallback °ú GetStatusCallbackÀ» º»´Ù. |
¾øÀ½ |
ÀÌµé ¸Å°³º¯¼ö¿¡´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ »çÇ×Àº Microsoft Win32 ÀÎÅÍ³Ý ÇÔ¼ö¸¦ ÂüÁ¶ÇÑ´Ù.
¿¹:
$FTP->Get("110-i86.zip");
$FTP->Get("/pub/perl/languages/CPAN/00index.htm", "CPAN_index.htm");
- List [pattern, listmode]
- Ls [pattern, listmode]
- Dir [pattern, listmode]
- µð·ºÅ丮ÀÇ ÆÄÀÏÀÇ ¸ñ·Ï, Áï ÁÖ¾îÁø pattern(»ý·«ÇÏ´Â °æ¿ì "*.*"·Î °£ÁÖÇÑ´Ù)°ú ÀÏÄ¡ÇÏ´Â ÆÄÀÏÀÇ ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù. ¸®ÅÏµÈ ¸ñ·ÏÀÇ ³»¿ëÀº listmode ¸Å°³º¯¼ö¿¡ÀÇÁ¸Çϸç, listmode ¸Å°³º¯¼ö´Â ´ÙÀ½°ú °°Àº °ªÀ» °®´Â´Ù:
- listmode=1(¶Ç´Â »ý·«)
ÆÄÀÏÀÇ À̸§À» Æ÷ÇÔÇÏ´Â ¸ñ·Ï
¿¹:
@files = $FTP->List();
@textfiles = $FTP->List("*.txt");
foreach $file (@textfiles) {
print "Name: ", $file, "";
}
- listmode=2
°¢ ÆÄÀÏ¿¡´ëÇØ 7°³ÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ¸ñ·Ï. °¢°¢ ´ÙÀ½°ú °°´Ù:
- ÆÄÀϸí
- DOS Çü½ÄÀÇ ÆÄÀϸí. 8.3 Çü½Ä
- Å©±â
- ¼Ó¼º
- »ý¼ºÀÏÀÚ
- Á¢±ÙÀÏÀÚ
- º¯°æÀÏÀÚ
¿¹:
@files = $FTP->List("*.*", 2);
for($i=0; $i ÆÄÀϸí
- altname => DOS Çü½ÄÀÇ ÆÄÀϸí. 8.3 Çü½Ä
- size => Å©±â
- attr => ¼Ó¼º
- ctime => »ý¼ºÀÏÀÚ
- atime => Á¢±ÙÀÏÀÚ
- mtime => º¯°æÀÏÀÚ
¿¹:
@files = $FTP->List("*.*", 3);
foreach $file (@files) {
print $file->{'name'}, " ", $file->{'size'}, " ", $file->{'attr'}, "";
}
ÁÖÀÇ: Ç×»ó ´ÙÀ½ Çü½ÄÀÇ ¹®ÀÚ¿·Î ¸®ÅϵȴÙ:
second, hour, minute, day, month, year
¿¹:
$file->{'mtime'} == "0,10,58,9,12,1996" stands for 09 Dec 1996 at 10:58:00
- Mkdir name
- Md name
- ¿÷°Ý FTP È£½ºÆ®¿¡ µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù. ¿À·ù°¡ ¹ß»ýÇϸé undef°¡ ¸®ÅϵȴÙ.
¿¹:
$FTP->Mkdir("NextBuild");
- Mode [mode]
- ÀÎÀÚ ¾øÀÌ È£ÃâÇϸé FTP ¼¼¼Ç¿¡´ëÇÑ ÇöÀçÀÇ Àü¼Û ¸ðµå¸¦ ¸®ÅÏÇÑ´Ù(ASCII °æ¿ì "asc", 2ÁøÀÎ °æ¿ì "bin"). mode ÀÎÀÚ´Â "asc"³ª "bin"ÀÏ ¼ö ÀÖÀ¸¸ç, ÀÌ °æ¿ì¿¡ Àü¼Û¸ðµå°¡ ¼±ÅõȴÙ. ¶ÇÇÑ Ascii¿Í Binary ÇÔ¼ö¸¦ º»´Ù. ¿À·ù°¡ ¹ß»ýÇϸé undef°¡ ¸®ÅϵȴÙ.
¿¹:
print "Current mode is: ", $FTP->Mode();
$FTP->Mode("asc"); # ... same as $FTP->Ascii();
- Pasv [mode]
- ÀÎÀÚ¾øÀÌ È£ÃâÇÏ¸é¼ ÇöÀç FTP ¼¼¼ÇÀÌ PASS Àü¼Û¸ðµå¶ó¸é 1ÀÌ ¸®ÅϵȴÙ. ±×·¸Áö ¾ÊÀ¸¸é 0ÀÌ ¸®ÅϵȴÙ.
ÀÎÅÍ³Ý °³Ã¼ÀÇ ¸Þ¼Òµåó·³ mode ¸Å°³º¯¼ö(0/1)·Î È£ÃâÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì¿¡´Â ´ÙÀ½ FTP °³Ã¼¿¡´ëÇÑ ±âº»°ªÀ¸·Î ¼³Á¤µÈ´Ù(FTP ¼¼¼ÇÀÌ ÀÏ´Ü ¿¸®¸é ÀÌ °ªÀ» º¯°æÇÒ ¼ö ¾øÀ¸¹Ç·Î FTP ¼¼¼ÇÀ» ¿±âÀü¿¡ ÀÌ °ªÀ» ¼³Á¤ÇÑ´Ù).
¿¹:
print "Pasv is: ", $FTP->Pasv();
$INET->Pasv(1);
$INET->FTP($FTP,"ftp.activeware.com", "anonymous", "[email protected]");
$FTP->Pasv(0); # this will be ignored...
- Put local, [remote, context]
- local ÆÄÀÏÀ» remote¶ó´Â À̸§À¸·Î ¿ø°Ý FTP ¼¹ö¿¡ ÀúÀåÇϱâÀ§ÇØ ¾÷·ÎµåÇÑ´Ù. remote°¡ »ý·«µÇ¸é local°ú µ¿ÀÏÇÑ À̸§ÀÌ »ç¿ëµÈ´Ù. ¿À·ù°¡ ¹ß»ýÇϸé undef°¡ ¸®ÅϵȴÙ.
context´Â ºñµ¿±â½Ã µ¿ÀÛÀ» È®ÀÎÇϱâÀ§ÇÑ ¹øÈ£ÀÌ´Ù. ºñµ¿±â µ¿ÀÛ¿¡´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â SetStatusCallback°ú GetStatusCallbackÀ» º»´Ù.
¿¹:
$FTP->Put("internet.zip");
$FTP->Put("d:/users/dada/temp.zip", "/temp/dada.zip");
- Pwd
- FTP ¼¹öÀÇ ÇöÀç µð·ºÅ丮³ª undef(¿À·ù½Ã)¸¦ ¸®ÅÏÇÑ´Ù.
¿¹:
$path = $FTP->Pwd();
- Rename oldfile, newfile
- Ren oldfile, newfile
- ¿÷°Ý FTP È£½ºÆ®ÀÇ ÆÄÀÏ À̸§À» º¯°æÇÑ´Ù. ¿À·ù°¡ ¹ß»ýÇϸé undefÀ» ¸®ÅÏÇÑ´Ù.
¿¹:
$FTP->Rename("110-i86.zip", "68i-011.zip");
- Rmdir name
- Rd name
- ¿÷°Ý FTP È£½ºÆ®ÀÇ µð·ºÅ丮¸¦ »èÁ¦ÇÑ´Ù. ¿À·ù°¡ ¹ß»ýÇϸé undefÀ» ¸®ÅÏÇÑ´Ù.
¿¹:
$FTP->Rmdir("CurrentBuild");
| | |
|