PHP/Network/FTP Functions
Версия от 10:37, 26 мая 2010; (обсуждение)
Содержание
FTP Functions
Name Description
ftp_alloc() Allocates space for a file to be uploaded
ftp_cdup() Changes to the parent directory
ftp_chdir() Changes the current directory on an FTP server
ftp_chmod() Sets 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 program 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 behaviors of the current FTP stream
ftp_get() Downloads a file from the FTP server
ftp_login() Logs into 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 (nonblocking)
ftp_nb_fget() Retrieves a file from the FTP server and writes it to an open file (nonblocking)
ftp_nb_fput() Stores a file from an open file to the FTP server (nonblocking)
ftp_nb_get() Retrieves a file from the FTP server and writes it to a local file (nonblocking)
ftp_nb_put() Stores a file on the FTP server (nonblocking)
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() Sets 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 put
<?php
$conn = ftp_connect("ftp.somedomain.ru");
if ($conn) {
$session = ftp_login($conn, "user", "pass");
if ($session) {
if (ftp_chdir($conn, "somedir")) {
ftp_put($conn, "remote.txt", "local.txt", FTP_ASCII);
}
}
ftp_close($conn);
}
?>
Saving a remote file via FTP with file_put_contents()
$page = file_get_contents("page-template.html");
$page = str_replace("{page_title}", "Welcome", $page);
if (date("H" >= 12)) {
$page = str_replace("{color}", "blue", $page);
} else {
$page = str_replace("{color}", "green", $page);
}
$page = str_replace("{name}", $_SESSION["username"], $page);
file_put_contents("ftp://name:password@ftp.example.ru/welcome.html", $page);
use the ftp_* functions to upload a single file to an FTP server.
<?php
$conn = ftp_connect ( "ftp.somedomain.ru" );
if ($conn) {
$session = ftp_login ( $conn, "user", "pass" );
if ($session) {
if (ftp_chdir ( $conn, "somedir" )) {
ftp_put ( $conn, "remote.txt", "local.txt", FTP_ASCII );
}
}
ftp_close ( $conn );
}
?>
Using a password with FTP or HTTP
<?php
$fh = fopen("ftp://username:password@ftp.example.ru/pub/Index","r");
$fh = fopen("http://username:password@www.example.ru/robots.txt","r");
?>
Write to file with ftp functions
<?php
$file_name = "index.php";
$fp = fopen($file_name, "r");
if ($fp) {
$data = fread($fp, filesize($file_name));
fclose($fp);
$file_name = "ftp://user:pass@ftp.somedomain.ru/home/user/$file_name";
$fp = fopen($file_name, "wt");
if ($fp) {
echo "writing data";
fwrite($fp, $data);
fclose($fp);
}
}
?>
Write to remote file on a ftp server
<?php
$file_name = "data.txt";
$fp = fopen ( $file_name, "r" );
if ($fp) {
$data = fread ( $fp, filesize ( $file_name ) );
fclose ( $fp );
$file_name = "ftp://user:pass@ftp.somedomain.ru/home/user/$file_name";
$fp = fopen ( $file_name, "wt" );
if ($fp) {
echo "writing data";
fwrite ( $fp, $data );
fclose ( $fp );
}
}
?>