In this tutorial, we are going to learn to upload files via FTP using PHP.
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data connections between the client and the server.
We will be using an in build PHP function : ftp_connect
ftp_connect(string $hostname, int $port = 21, int $timeout = 90): FTP\Connection|false
ftp_connect() opens an FTP connection to the specified hostname.
Parameters
hostname : The FTP server address. This parameter shouldn’t have any trailing slashes and shouldn’t be prefixed with ftp://
port : This parameter specifies an alternate port to connect to. If it is omitted or set to zero, then the default FTP port, 21, will be used.
timeout : This parameter specifies the timeout in seconds for all subsequent network operations. If omitted, the default value is 90 seconds.
Full Source Code to Upload File via FTP using PHP
<?php function uploadFTP($server, $username, $password, $local_file, $remote_dir, $filename){ // connect to server $connection = ftp_connect($server) or die("Couldn't connect to $server"); // login if (@ftp_login($connection, $username, $password)){ // successfully connected }else{ echo 'connection failed'; return false; } ftp_pasv($connection, true); ftp_put($connection, $remote_dir.$filename, $local_file, FTP_BINARY); ftp_close($connection); echo 'upload success'; return true; } $server = '*****'; //FTP Host $user = '*****'; //FTP Username $password = '*****'; //FTP Password $local_file = "*****"; //Path to Local File (example : C:/xampp/htdocs/ftp/image.jpeg) $remote_dir = '*****'; //Path from FTP root to upload folder (example : /myFolder/subFolder/) $filename_after_upload = '****'; //filename that will be given to uploaded file (example : abc.jpg) uploadFTP($server, $user, $password, $local_file, $remote_dir, $filename_after_upload);