php - PHP 脚本和命令行中的 FTP 失败并显示 553,但 Filezilla 传输正常

标签 php ftp filezilla

我在 PHP 脚本中遇到奇怪的 FTP 故障。我仅使用命令行 FTP 重现了故障,因此我认为我可以从查询中消除 PHP。

在 Ubuntu 10.10 中使用命令行 FTP,我可以连接到我的 FTP 服务器、登录、列出目录等。但是,当我尝试使用“put”将文件从我的本地机器传输到 FTP 服务器时,我得到“553 无法创建文件”错误。我在主动和被动模式下遇到相同的错误。传输设置为二进制。

当我在同一台机器上运行 FileZilla 并使用相同的凭据连接到同一台 FTP 服务器,并尝试将同一文件传输到同一目标目录时,在默认为二进制和被动模式后,传输工作正常。

FWIW,使用相同细节的 PHP 脚本(这是一个简单的 ftp_connect、ftp_login 和 ftp_put)因“非法 PORT 命令”而失败,尽管我怀疑这只是 PHP 对我从命令行 FTP 得到的相同错误的解释。同样,此错误在主动和被动 FTP 模式下都会发生。

最佳答案

FileZilla 和 ftp 命令可能在不同的目录中启动。您可以在 FileZilla 中设置启动远程目录,并且您必须从命令行转到相同的位置。

从命令行客户端登录后尝试使用 pwd 命令,它将显示当前工作目录,将其与 FileZilla 使用的目录进行比较,然后使用 cd 转到正确的目录 命令。

关于php - PHP 脚本和命令行中的 FTP 失败并显示 553,但 Filezilla 传输正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5531934/

相关文章:

php - 最佳实践/如何保护根目录以上的文件并对链接进行哈希处理以在受限登录帐户区域中向客户显示?

php - 我们如何访问服务器中的文件 blob?

将整个目录和子目录下载到本地驱动器的 PHP FTP 库/函数

WordPress 要求我提供 FTP 凭据来安装插件

amazon-web-services - 使用 FileZilla 上传到 SFTP 服务器时收到描述为 'Failure' 的失败

java - 如何建立到 FileZilla Server 1.2.0 的 FTPS 数据连接

PHP 日文字符验证

php - 使用 MVC 和 OOP PHP session 的最佳方式

ftp - 如何从 phpdesigner 8 导出 ftp 列表?

php - 是否有像 Filezilla 这样处理 MySQL 表的程序?