ftp_nb_get

ftp_nb_get -- Ontvangt een bestand van de FTP server en schrijft het naar een lokaal bestand (non-blocking)

Beschrijving

bool ftp_nb_get ( resource ftp_stream, string local_file, string remote_file, int mode [, int resumepos])

ftp_nb_get( ) ontvangt remote_file van de FTP server , en slaat het lokaal op in local_file . De overdracht mode moet of FTP_ASCII of FTP_BINARY zijn . Het verschil met ftp_fget( ) is , dat deze functie het bestand asynchroon ontvangt , zodat je andere dingen kan doen in je programma terwijl het bestand wordt gedownload .

Geeft TRUE terug bij succes , FALSE indien er een fout is opgetreden .

Voorbeeld 1 . ftp_nb_get( ) voorbeeld

 
/

 
/

 
Initializeer

 
de

 
download

 
$ret

 
=

 
ftp_nb_get(

 
$my_connection

 
,

 
"test"

 
,

 
"README"

 
,

 
FTP_BINARY)

 
;

 
while

 
($ret

 
==

 
FTP_MOREDATA

 
)

 
{

 
/

 
/

 
Doe

 
wat

 
je

 
ook

 
maar

 
wil

 
echo

 
"

 
."

 
;

 
/

 
/

 
Ga

 
door

 
met

 
downloaden..

 
.

 
$ret

 
=

 
ftp_nb_continue

 
($my_connection)

 
;

 
}

 
if

 
($ret

 
!=

 
FTP_FINISHED

 
)

 
{

 
echo

 
"Er

 
was

 
een

 
fout

 
met

 
het

 
downloaden

 
van

 
het

 
bestand..

 
."

 
;

 
exit(1)

 
;

 
}



Voorbeeld 2 . Een download met ftp_nb_get( ) afmaken

 
/

 
/

 
Initialiseer

 
$ret

 
=

 
ftp_nb_get

 
(

 
$my_connection

 
,

 
"test"

 
,

 
"README"

 
,

 
FTP_BINARY

 
,

 
filesize("test"))

 
;

 
/

 
/

 
OF

 
:

 
$ret

 
=

 
ftp_nb_get

 
($my_connection

 
,

 
"test"

 
,

 
"README"

 
,

 
/

 
/

 
FTP_BINARY

 
,

 
FTP_AUTORESUME)

 
;

 
while

 
($ret

 
==

 
FTP_MOREDATA

 
)

 
{

 
/

 
/Doe

 
wat

 
je

 
ook

 
maar

 
wil

 
echo

 
"

 
."

 
;

 
/

 
/

 
Ga

 
door

 
met

 
downloaden..

 
.

 
$ret

 
=

 
ftp_nb_continue

 
($my_connection)

 
;

 
}

 
if

 
($ret

 
!=

 
FTP_FINISHED

 
)

 
{

 
echo

 
"Er

 
was

 
een

 
fout

 
met

 
het

 
downloaden

 
van

 
het

 
bestand..

 
."

 
;

 
exit(1)

 
;

 
}



Voorbeeld 3 . Zet een download op positie 100 voort naar een nieuw bestand met ftp_nb_get( )

 
/

 
/

 
Zet

 
autoseek

 
uit

 
ftp_set_option

 
(

 
$my_connection

 
,

 
FTP_AUTOSEEK

 
,

 
FALSE)

 
;

 
/

 
/

 
Initializeren

 
$ret

 
=

 
ftp_nb_get

 
($my_connection

 
,

 
"newfile"

 
,

 
"README"

 
,

 
FTP_BINARY

 
,

 
100)

 
;

 
while

 
($ret

 
==

 
FTP_MOREDATA

 
)

 
{

 
..

 
.

 
/

 
/

 
Ga

 
door

 
met

 
downloaden..

 
.

 
$ret

 
=

 
ftp_nb_continue

 
($my_connection)

 
;

 
}





In het bovenstaande voorbeeld is " newfile " 100 bytes kleiner dan "README " op de FTP server , omdat we starten met lezen op positie 100 . Als we niet FTP_AUTOSEEK hadden uitgezet waren de eerste 100 bytes van het nieuwe bestand ' \0 '

Zie ook ftp_nb_fget( ) , ftp_nb_continue( ) , ftp_get( ) en ftp_fget( ) .