PHP | ftp_alloc() function
Last Updated :
28 Jul, 2021
Improve
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!";
}
// Closing 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!";
}
// Closing 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