使用php自动将所有文件上传到ftp服务器的本地目录

时间:2015-11-17 02:32:01

标签: php ftp

我想将仅包含文本文件的目录内容上传到ftp服务器,并且应该通过Windows任务计划自动上传。现在我正在使用它,但它只上传一个文件,我的要求基本上是用户可以将其文件复制到特定文件夹,它应该尽快上传到ftp服务器上。 这是我现在正在使用的代码:

$host = 'ftp.xyz.com';
$usr = 'abc123';
$pwd = 'l2345';
date_default_timezone_set('Asia/Kuala_Lumpur');
$date = date('d-m-Y_hi');
$name = $date.".txt";
$local_file = '/Applications/XAMPP/xamppfiles/htdocs/Conversion/Upload/xyz/abc.txt';
$ftp_path = '/public_html/xyz/abc.txt';
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");
ftp_login($conn_id, $usr, $pwd) or die("Cannot login");
$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_BINARY);
echo (!$upload) ? 'Cannot upload' : 'Upload complete';
echo "\n";
if (!function_exists('ftp_chmod')) {
function ftp_chmod($ftp_stream, $mode, $filename){
    return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
}
}
if (ftp_chmod($conn_id, 0666, $ftp_path) !== false) {
echo $ftp_path . " chmoded successfully to 666\n";
} else {
echo "could not chmod $file\n";
}
ftp_close($conn_id);

1 个答案:

答案 0 :(得分:0)

要上传多个文件,您需要在代码中发出一系列带有循环的FTP(连接和)传输...或者在FTP的交互模式下使用通配符。