Open In App

PHP | ftp_alloc() function

Improve
Improve
Like Article
Like
Save
Share
Report

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




<?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




<?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
 



Last Updated : 28 Jul, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads