php:implicit_ftps
This is an old revision of the document!
Implicit FTPS
The code below contains examples to upload, download and delete files on an implicit FTPS server and to get a directory listing:
<?php
//upload test
$server="servername";
$user="username";
$pass="password";
$remotefilename="/InBound/test.txt";
$localfilename="test.txt";
/*
$fp = fopen($localfilename, 'r');
$ftp_server = 'ftps://'.$server.'/'.$remotefilename;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ftp_server);
curl_setopt($ch, CURLOPT_USERPWD,$user.':'.$pass);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);
curl_setopt($ch, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
$output = curl_exec($ch);
$error_no = curl_errno($ch);
var_dump(curl_error($ch));
curl_close($ch);
*/
/*
//download test
$remotefilename="/OutBound/test.txt";
$localfilename="testdown.txt";
$fp = fopen($localfilename, 'w');
$ftp_server = 'ftps://'.$server.'/'.$remotefilename;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ftp_server);
curl_setopt($ch, CURLOPT_USERPWD,$user.':'.$pass);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);
curl_setopt($ch, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS);
curl_setopt($ch, CURLOPT_UPLOAD, 0);
curl_setopt($ch, CURLOPT_FILE, $fp);
$output = curl_exec($ch);
$error_no = curl_errno($ch);
var_dump(curl_error($ch));
curl_close($ch);
*/
//Diretory Listing test
$remotepath="/OutBound/";
$ftp_server = 'ftps://'.$server.'/'.$remotepath;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ftp_server);
curl_setopt($ch, CURLOPT_USERPWD,$user.':'.$pass);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);
curl_setopt($ch, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS);
curl_setopt($ch, CURLOPT_FTPLISTONLY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
//create array from directory listing
$output = preg_split("/\r\n|\n|\r/", $output, null, PREG_SPLIT_NO_EMPTY);
$error_no = curl_errno($ch);
#var_dump(curl_error($ch));
var_dump($output);
curl_close($ch);
/*
//Delete file test
$remotepath="/InBound/";
$remotefile="test2.txt";
$ftp_server = 'ftps://'.$server.'/'.$remotepath;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ftp_server);
curl_setopt($ch, CURLOPT_USERPWD,$user.':'.$pass);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);
curl_setopt($ch, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS);
curl_setopt($ch, CURLOPT_QUOTE, array("DELE $remotepath$remotefile"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
$error_no = curl_errno($ch);
#var_dump(curl_error($ch));
var_dump($output);
curl_close($ch);
*/
php/implicit_ftps.1615480318.txt.gz · Last modified: (external edit)