PHP文件内容与ftp://-;FTP服务器报告550“;错误

PHP文件内容与ftp://-;FTP服务器报告550“;错误,php,ftp,Php,Ftp,我正在尝试使用以下代码(已编辑凭据)将文件从一个托管帐户写入另一个(同一服务器): 但我得到: 无法打开流:FTP服务器报告550无法检查文件是否存在于 我已验证帐户凭据是否正确 讨论了在PHP中需要指定目录的完整路径,包括帐户用户名。上面的路径是正确的,即/home/user/public\u html/test\u dir 表示必须设置文件大小,但问题是关于读取,而不是写入 我做错了什么 [[更新]] 有趣的是,如果我使用PHP的专用FTP函数,例如FTP\u put(),而不是通过协议,那

我正在尝试使用以下代码(已编辑凭据)将文件从一个托管帐户写入另一个(同一服务器):

但我得到:

无法打开流:FTP服务器报告550无法检查文件是否存在于

我已验证帐户凭据是否正确

讨论了在PHP中需要指定目录的完整路径,包括帐户用户名。上面的路径是正确的,即
/home/user/public\u html/test\u dir

表示必须设置文件大小,但问题是关于读取,而不是写入

我做错了什么

[[更新]]


有趣的是,如果我使用PHP的专用FTP函数,例如
FTP\u put()
,而不是通过协议,那么一切都可以正常工作。

您尝试编写的文件是否存在?如果是的话,它是只读的吗?不存在..你有没有尝试过交互式ftp程序(即filezilla),看看它是如何处理的?是的-它在filezilla中工作得很好。如果我使用PHP的专用FTP函数,例如
FTP\u put()
,而不是通过协议,它甚至可以正常工作。您有权访问服务器端日志吗?
$fn = 'foo.bar';
$ftp_user = 'user@mydomain.com';
$ftp_pass = 'my-pass';
$ftp_host = 'ip.xx.xx.xx';
$ftp_uri = 'ftp://'.$ftp_user.':'.$ftp_pass.'@'.$ftp_host.'/home/user/public_html/test_dir/'.$fn;
$content = 'asdq3ersesdf';
$options = array('ftp' => array('overwrite' => true));
$stream = stream_context_create($options);
file_put_contents($ftp_uri, $content, 0, $stream);