PHP | ftp_alloc() function
The ftp_alloc() function is an inbuilt function in PHP which is used to allocate space for file to be uploaded in FTP server.
Syntax:
ftp_alloc( $ftp_connection, $filesize, $result );
Parameter: This function accepts three parameters as mentioned above and described below:
- $ftp_connection: It is required parameter. It specifies the already existing FTP connection to use for allocating space and uploading the file.
- $filesize: It is required parameter. It specifies the size of the file in bytes i.e. number of bytes to allocate.
- $result: This parameter is optional. It specifies a variable to store the response in it.
Return Value: It returns True on success or False on failure.
Note:
- This function is available for PHP 5.0.0 and newer version.
- The following examples cannot be run on online IDE. So try to run in some PHP hosting server or localhost with proper ftp server name.
Below examples illustrate the ftp_alloc() function in PHP:
Example 1:
<?php // Connect to FTP server // Use a correct ftp server $ftp_server = "localhost"; // Use correct ftp username$ftp_username = "user"; // Use correct ftp password corresponding// to the ftp username$ftp_userpass = "user"; // File name or path to upload to ftp server$file = "filetoupload.txt"; // Establishing ftp connection $ftp_connection = ftp_connect($ftp_server) or die("Could not connect to $ftp_server"); if($ftp_connection) { echo "successfully connected to the ftp server!"; // Logging in to established connection // with ftp username password $login = ftp_login($ftp_connection, $ftp_username, $ftp_userpass); if($login) { // Checking whether logged in successfully or not echo "<br>logged in successfully!"; // Allocating space for the file as specified // i.e. in $file if(ftp_alloc($ftp_connection, filesize($file), $result)) { echo "<br>space successfully allocated on the FTP server"; if(ftp_put($ftp_connection, "uploadedfile_name_in_server.txt", $file, FTP_ASCII)) { echo "<br>Uploaded successful $file."; } else { echo "<br>Error while uploading $file."; } } else { echo "<br>space allocation failed!"; } } else { echo "<br>login failed!"; } // Closeing connection if(ftp_close($ftp_connection)) { echo "<br>Connection closed Successfully!"; } } ?> |
Output:
successfully connected to the ftp server! logged in successfully! space successfully allocated on the FTP server Uploaded successful filetoupload.txt. Connection closed Successfully!
Example 2: Connect to ftp server using port number 21 and then allocate and upload file.
<?php // Connect to FTP server // Use a correct ftp server $ftp_server = "localhost"; // Use correct ftp username$ftp_username = "user"; // Use correct ftp password corresponding// to the ftp username$ftp_userpass = "user"; // File name or path to upload to ftp server$file = "filetoupload.txt"; // Establishing ftp connection $ftp_connection = ftp_connect($ftp_server, 21) or die("Could not connect to $ftp_server"); if($ftp_connection) { echo "successfully connected to the ftp server!"; // Logging in to established connection // with ftp username password $login = ftp_login($ftp_connection, $ftp_username, $ftp_userpass); if($login) { // Checking whether logged in successfully or not echo "<br>logged in successfully!"; // Allocating space for the file as specified // i.e. in $file if(ftp_alloc($ftp_connection, filesize($file), $result)) { echo "<br>space successfully allocated on the FTP server"; if(ftp_put($ftp_connection, "uploadedfile_name_in_server.txt", $file, FTP_ASCII)) { echo "<br>Uploaded successful $file."; } else { echo "<br>Error while uploading $file."; } } else { echo "<br>space allocation failed!"; } } else { echo "<br>login failed!"; } // Closeing connection if(ftp_close($ftp_connection)) { echo "<br>Connection closed Successfully!"; } } ?> |
Output:
successfully connected to the ftp server! logged in successfully! space successfully allocated on the FTP server Uploaded successful filetoupload.txt. Connection closed Successfully!
Reference: https://www.php.net/manual/en/function.ftp-alloc.php


