【发布时间】:2021-09-06 14:19:35
【问题描述】:
我正在尝试以附加模式写入 as400 ftp 服务器中的现有文件...但它一直给我错误...它返回的错误是它给出“操作完成等...”但是没有向文件写入任何内容...我错了什么?
// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
// try to login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
echo "Connected as $ftp_user@$ftp_server\n";
} else {
echo "Couldn't connect as $ftp_user\n";
}
// execute command
if (ftp_raw($conn_id, "cd /QSYS.LIB/DWFOR800.LIB")) {
debug("cd /QSYS.LIB/DWFOR800.LIB executed successfully");
} else {
debug("could not execute cd /QSYS.LIB/DWFOR800.LIB");
}
// open file for reading
$file = CODE_PHP_PATH."test.txt";
// execute command
if (ftp_raw($conn_id, "app $file EDI50FTP.FILE")) {
debug("app $file EDI50FTP.FILE executed successfully");
} else {
debug("could not execute app $file EDI50FTP.FILE");
}
// close this connection and file handler
ftp_close($conn_id);
【问题讨论】:
-
不要隐藏错误:
@ftp_login,请不要让我们猜测错误信息。 -
命令也是大写的,我认为它不是
app,而是APPEND。 -
ftp_raw()不返回布尔值,而是从服务器返回一个字符串数组。它们可以是正面或负面的消息,您的if不是这样工作的。 -
嗨丹尼尔,它返回的错误是它给出“操作完成等......”但没有向文件写入任何内容
-
你为什么要用
ftp_raw而不是ftp_append来做这个
标签: php ftp ibm-midrange