2

是否可以将文件上传到 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);
4

3 回答 3

5

好像你需要使用ftp_chdir().

正常连接,然后使用ftp_chdir().

于 2012-04-16T15:00:37.913 回答
2

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

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

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

于 2012-04-16T15:04:23.800 回答
0

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

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

于 2012-04-16T15:01:10.703 回答