For those who dont want to deal with handling the connection once created, here is a simple class that allows you to call any ftp function as if it were an extended method. It automatically puts the ftp connection into the first argument slot (as all ftp functions require).
This code is php 5.3+
<?php
class ftp{
public $conn;
public function __construct($url){
$this->conn = ftp_connect($url);
}
public function __call($func,$a){
if(strstr($func,'ftp_') !== false && function_exists($func)){
array_unshift($a,$this->conn);
return call_user_func_array($func,$a);
}else{
// replace with your own error handler.
die("$func is not a valid FTP function");
}
}
}
// Example
$ftp = new ftp('ftp.example.com');
$ftp->ftp_login('username','password');
var_dump($ftp->ftp_nlist());
?>| CARVIEW |
Select Language
HTTP/2 301
server: myracloud
date: Fri, 26 Dec 2025 13:27:36 GMT
content-type: text/html
content-length: 161
location: https://www.php.net/ftp
HTTP/2 200
server: myracloud
date: Fri, 26 Dec 2025 13:27:37 GMT
content-type: text/html; charset=utf-8
content-language: en
permissions-policy: interest-cohort=()
x-frame-options: SAMEORIGIN
status: 200 OK
link: ; rel=shorturl
last-modified: Fri, 26 Dec 2025 12:08:36 GMT
vary: accept-encoding
content-encoding: gzip
expires: Fri, 26 Dec 2025 13:27:37 GMT
cache-control: max-age=0
PHP: FTP - Manual
update page now
FTP
- Introduction
- Installing/Configuring
- Predefined Constants
- Examples
- FTP Functions
- ftp_alloc — Allocates space for a file to be uploaded
- ftp_append — Append the contents of a file to another file on the FTP server
- ftp_cdup — Changes to the parent directory
- ftp_chdir — Changes the current directory on a FTP server
- ftp_chmod — Set permissions on a file via FTP
- ftp_close — Closes an FTP connection
- ftp_connect — Opens an FTP connection
- ftp_delete — Deletes a file on the FTP server
- ftp_exec — Requests execution of a command on the FTP server
- ftp_fget — Downloads a file from the FTP server and saves to an open file
- ftp_fput — Uploads from an open file to the FTP server
- ftp_get — Downloads a file from the FTP server
- ftp_get_option — Retrieves various runtime behaviours of the current FTP connection
- ftp_login — Logs in to an FTP connection
- ftp_mdtm — Returns the last modified time of the given file
- ftp_mkdir — Creates a directory
- ftp_mlsd — Returns a list of files in the given directory
- ftp_nb_continue — Continues retrieving/sending a file (non-blocking)
- ftp_nb_fget — Retrieves a file from the FTP server and writes it to an open file (non-blocking)
- ftp_nb_fput — Stores a file from an open file to the FTP server (non-blocking)
- ftp_nb_get — Retrieves a file from the FTP server and writes it to a local file (non-blocking)
- ftp_nb_put — Stores a file on the FTP server (non-blocking)
- ftp_nlist — Returns a list of files in the given directory
- ftp_pasv — Turns passive mode on or off
- ftp_put — Uploads a file to the FTP server
- ftp_pwd — Returns the current directory name
- ftp_quit — Alias of ftp_close
- ftp_raw — Sends an arbitrary command to an FTP server
- ftp_rawlist — Returns a detailed list of files in the given directory
- ftp_rename — Renames a file or a directory on the FTP server
- ftp_rmdir — Removes a directory
- ftp_set_option — Set miscellaneous runtime FTP options
- ftp_site — Sends a SITE command to the server
- ftp_size — Returns the size of the given file
- ftp_ssl_connect — Opens a Secure SSL-FTP connection
- ftp_systype — Returns the system type identifier of the remote FTP server
- FTP\Connection — The FTP\Connection class
+add a note
User Contributed Notes 2 notes
tendrid at gmail dot com ¶
14 years ago
asifkhandk at gmail dot com ¶
12 years ago
Upload file to server via ftp.
<?php
$ftp_server="";
$ftp_user_name="";
$ftp_user_pass="";
$file = "";//tobe uploaded
$remote_file = "";
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
exit;
} else {
echo "There was a problem while uploading $file\n";
exit;
}
// close the connection
ftp_close($conn_id);
?>
↑ and ↓ to navigate •
Enter to select •
Esc to close • / to open
Press Enter without
selection to search using Google