我正在尝试创建一个将登录到FTP文件夹的脚本,并将该文件夹中的所有内容下载到PHP脚本位于另一台服务器上的文件夹中。我无法连接FTP_CONNECT函数或给我相关错误以确定问题。
<?php
//establish connection variables
$ftp_server = "";
$ftp_port="";
$ftp_serusername="";
$ftp_serpass="";
//setup basic configuration
$conn_id = ftp_connect($ftp_server,'21')
or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_serusername, $ftp_serpass);
//check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP Connection Failed to Login";
}
ftp_sync ("."); // Use "." if you are in the current directory
ftp_close($conn_id);
// ftp_sync - Copy directory and file structure
function ftp_sync ($dir) {
global $conn_id;
if ($dir != ".") {
if (ftp_chdir($conn_id, $dir) == false) {
echo ("Change Dir Failed: $dir<BR>\r\n");
return;
}
if (!(is_dir($dir)))
mkdir($dir);
chdir ($dir);
}
$contents = ftp_nlist($conn_id, ".");
foreach ($contents as $file) {
if ($file == '.' || $file == '..')
continue;
if (@ftp_chdir($conn_id, $file)) {
ftp_chdir ($conn_id, "..");
ftp_sync ($file);
}
else
ftp_get($conn_id, $file, $file, FTP_BINARY);
}
ftp_chdir ($conn_id, "..");
chdir ("..");
}
?>
该问题与在PHP 5.6环境中使用此脚本有关。升级到PHP 7.2,一切正常。再一次,这从未产生任何服务器错误,没有什么可以让我知道出了什么问题。