PHP/Network/FTP Functions

Материал из Web эксперт
Перейти к: навигация, поиск

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 );
  
  }
}
?>