FTP
- Introduction
- Installing/Configuring
- Predefined Constants
- Examples
- FTP Functions
- ftp_alloc — Allocates space for a file to be uploaded
- 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_option — Retrieves various runtime behaviours of the current FTP stream
- ftp_get — Downloads a file from the FTP server
- 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_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 an Secure SSL-FTP connection
- ftp_systype — Returns the system type identifier of the remote FTP server
- Constant hash database
- Клиентская библиотека работы с URL
- Event
- File Alteration Monitor
- FTP
- Gearman
- Net Gopher
- Gupnp
- Hyperwave API
- Облегчённый протокол доступа к каталогам (LDAP)
- Memcache
- Memcached
- mqseries
- Network
- RRDtool
- Simple Asynchronous Messaging
- SNMP
- Сокеты
- Secure Shell2
- Stomp Client
- Support Vector Machine
- Subversion
- TCP Wrappers
- Varnish
- YAZ
- YP/NIS
- ZMQ
Коментарии
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());
?>
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);
?>