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: 2023/05/29 11:53 (external edit)