gpt4 book ai didi

php - ftp_put 失败时有没有办法得到原因?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:47:24 25 4
gpt4 key购买 nike

我有一个 FTP 类,它具有连接、断开连接、上传和下载文件到其他 ftp 服务器的功能。

我有这个功能,我想在文本文件中记录上传失败的原因,但是基于 ftp_put文档,它只在失败时返回 false:

public function upload($remote_file, $file, $mode = FTP_ASCII) 
{
if (!ftp_put($this->ftp_connection, $remote_file, $file, $mode))
{
throw new Exception("There was a problem while uploading $file", 1);
}

$this->last_uploaded_file = $file;
return true;
}

有什么办法可以得到ftp_put失败的原因吗?这些原因是什么?或者我可以记录的唯一错误消息是类似通用消息的东西?:

Error uploading file Foo.bar 12:01:01 2015-01-01

最佳答案

PHP FTP 函数使用服务器返回的最后一条错误消息发出警告。

所以当这种情况发生时:

> STOR /nonexistingfolder/readme.txt  
< 550 Filename invalid

您会收到如下警告:

Warning: ftp_put(): Filename invalid in test.php on line 12

没有提供更多信息。特别是您不能启用任何类型的 FTP session 日志记录。


当出现本地问题(如不存在的本地文件或权限问题)时,您会收到警告,就像任何其他 PHP 函数一样:

Warning: ftp_put(nonexisting.txt): failed to open stream: No such file or directory in test.php on line 12

关于php - ftp_put 失败时有没有办法得到原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com