FTP ftp_nb_get
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_nb_get — FTP 서버에서 파일을 검색하고 로컬 파일에 씁니다(비차단).
설명
ftp_nb_get( FTP\Connection $ftp, string $local_filename, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0 ): int
ftp_nb_get()은 FTP 서버에서 원격 파일을 검색하고 로컬 파일에 저장합니다.
이 함수와 ftp_get()의 차이점은 이 함수가 파일을 비동기적으로 검색하므로 파일이 다운로드되는 동안 프로그램이 다른 작업을 수행할 수 있다는 것입니다.
매개변수
ftp
- FTP\Connection 인스턴스입니다.
local_filename
- 로컬 파일 경로(파일이 이미 있는 경우 덮어쓰임).
remote_filename
- 원격 파일 경로입니다.
mode
- 전송 모드입니다.
FTP_ASCII
또는FTP_BINARY
여야 합니다. offset
- 다운로드를 시작할 원격 파일의 위치입니다.
반환 값
FTP_FAILED
또는 FTP_FINISHED
또는 FTP_MOREDATA
를 반환합니다.
변경 로그
버전 | 설명 |
---|---|
8.1.0 | ftp 매개변수는 이제 FTP\Connection 인스턴스를 필요로 합니다. 이전에는 리소스가 필요했습니다. |
7.3.0 | mode 매개변수는 이제 선택 사항입니다. 이전에는 필수였습니다. |
Examples
예제 #1 ftp_nb_get() 예제
<?php
// Initiate the download
$ret = ftp_nb_get($ftp, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {
// Do whatever you want
echo ".";
// Continue downloading...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "There was an error downloading the file...";
exit(1);
}
?>
예제 #2 ftp_nb_get()으로 다운로드 재개
<?php
// Initiate
$ret = ftp_nb_get($ftp, "test", "README", FTP_BINARY,
filesize("test"));
// OR: $ret = ftp_nb_get($ftp, "test", "README",
// FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {
// Do whatever you want
echo ".";
// Continue downloading...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "There was an error downloading the file...";
exit(1);
}
?>
예제 #3 ftp_nb_get()을 사용하여 위치 100에서 새 파일로 다운로드 재개
<?php
// Disable Autoseek
ftp_set_option($ftp, FTP_AUTOSEEK, false);
// Initiate
$ret = ftp_nb_get($ftp, "newfile", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {
/* ... */
// Continue downloading...
$ret = ftp_nb_continue($ftp);
}
?>
위의 예에서 newfile은 오프셋 100에서 읽기 시작했기 때문에 FTP 서버의 README보다 100바이트 작습니다. FTP_AUTOSEEK
를 비활성화하지 않으면 newfile의 처음 100바이트는 '\0'
이 됩니다.
기타
- ftp_nb_fget() - FTP 서버에서 파일을 검색하여 열린 파일에 씁니다(비차단).
- ftp_nb_continue() - 파일 검색/전송 계속(비차단)
- ftp_fget() - FTP 서버에서 파일을 다운로드하고 열린 파일에 저장
- ftp_get() - FTP 서버에서 파일 다운로드