在运行 PHP 5.2.17 的服务器上,使用任何利用内置 ftp 包装器上传文件的函数,在服务器上创建一个空文件:
file_put_contents()
返回准确的字节数copy()
也返回 true
两者都创建文件,但它是空的。
在尝试使用ftp_put()
FTP 扩展时,无论是二进制模式还是 ascii 模式,它都运行良好。
在我的带有 PHP 5.3.10 的工作站上,它也可以与包装器一起使用。
在代码中:
$source = '/tmp/testfile';
$target = 'ftp://user:pass@example.com/testfile';
copy($source, $target);
不给出错误或警告,但在服务器上留下一个空文件。
$source = '/tmp/testfile';
$target = 'testfile';
$ftp = ftp_connect('example.com');
ftp_login($ftp, 'user', 'pass');
ftp_put($ftp, $target, $source, FTP_ASCII);
ftp_close($ftp);
在各个方面都有效。
感谢您的任何建议!