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());
?>FTP
Introduction
The functions in this extension implement client access to files
servers speaking the File Transfer Protocol (FTP) as defined in
» https://datatracker.ietf.org/doc/html/rfc959. This extension is
meant for detailed access to an FTP server providing a wide range
of control to the executing script. If you only wish to
read from or write to a file on an FTP server, consider using
the ftp:// wrapper
with the filesystem functions
which provide a simpler and more intuitive interface.
- 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 ¶
13 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);
?>