This function is nice but like the ftp_size function it too has a flaw if your file is larger then 2.1Gb or 2.1 Billion Btyes it cannot be properly allocated.
ftp_alloc
(PHP 5)
ftp_alloc — Allocates space for a file to be uploaded
Opis
$ftp_stream
, int $filesize
[, string &$result
] )Sends an ALLO command to the remote FTP server to allocate space for a file to be uploaded.
Informacja:
Many FTP servers do not support this command. These servers may return a failure code (
FALSE) indicating the command is not supported or a success code (TRUE) to indicate that pre-allocation is not necessary and the client should continue as though the operation were successful. Because of this, it may be best to reserve this function for servers which explicitly require preallocation.
Parametry
-
ftp_stream -
The link identifier of the FTP connection.
-
filesize -
The number of bytes to allocate.
-
result -
A textual representation of the servers response will be returned by reference in
resultif a variable is provided.
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w
przypadku błędu.
Przykłady
Przykład #1 ftp_alloc() example
<?php
$file = "/home/user/myfile";
// connect to the server
$conn_id = ftp_connect('ftp.example.com');
$login_result = ftp_login($conn_id, 'anonymous', 'user@example.com');
if (ftp_alloc($conn_id, filesize($file), $result)) {
echo "Space successfully allocated on server. Sending $file.\n";
ftp_put($conn_id, '/incomming/myfile', $file, FTP_BINARY);
} else {
echo "Unable to allocate space on server. Server said: $result\n";
}
ftp_close($conn_id);
?>
Zobacz też:
- ftp_put() - Przesyła plik na serwer FTP
- ftp_fput() - Wysyła dane z otwartego pliku na serwer FTP
