【问题标题】:FTP to a subfolderFTP到子文件夹
【发布时间】:2012-04-16 14:56:17
【问题描述】:

是否可以将文件上传到 FTP 服务器上的子文件夹中?

我每天向 FTP 服务器发送一个文件,该文件安排在运行 php 文件的 cron 作业上。一切正常,但现在我被要求将目标更改为子文件夹。

将 *$server_name = 'ftp.website.com'* 更改为 *$server_name = 'ftp.website.com/data'* 好像没用?

我可以看到该文件夹​​存在于 filezilla 中,并且它具有所有读/写权限。

如果有人能告知这是权限问题还是完全可能,我将不胜感激?

提前致谢。

代码...

//FTP bit...

$server_name        = 'ftp.website.com';
$server_username    = 'xxxx';
$server_password    = 'xxxx';
$conn_id = ftp_connect($server_name);
$login_result = ftp_login($conn_id, $server_username, $server_password);
ftp_pasv($conn_id, true);
ftp_put($conn_id, $zip_filename, $output_dir . $zip_filename, FTP_BINARY);

【问题讨论】:

标签: php ftp cron


【解决方案1】:

看来你需要使用ftp_chdir()

正常连接,然后使用ftp_chdir()更改目录。

【讨论】:

  • 感谢 SenorAmor。我将底部更改为: ftp_chdir($conn_id, '/data'); ftp_put($conn_id, $txt_filename, $output_dir . $txt_filename, FTP_BINARY);这已经奏效了。感谢您的帮助。
【解决方案2】:

我假设您正在使用 PHP 的 ftp 功能。我看到两个选项:

1) 使用ftp_put 并指定ftp 服务器上的绝对路径。 http://php.net/manual/de/function.ftp-put.php

2) 在上传文件之前,使用ftp_chdir http://php.net/manual/de/function.ftp-chdir.php 更改ftp 服务器上的工作目录

【讨论】:

  • 感谢signpainter的指导。我将底部更改为: ftp_chdir($conn_id, '/data'); ftp_put($conn_id, $txt_filename, $output_dir . $txt_filename, FTP_BINARY);这已经奏效了。感谢您的帮助。
【解决方案3】:

如果您使用ftp_put,您只需指定服务器上的绝对目标路径

http://php.net/manual/en/function.ftp-put.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多