2012-04-16 98 views
1

是否可以將文件上傳到FTP服務器上的子文件夾中?FTP到子文件夾

我每天發送一個文件到FTP服務器,計劃在運行php文件的cron作業上。它一切正常,但現在我被要求將目的地更改爲子文件夾。

更改* $ server_name ='ftp.website.com'*爲* $ server_name ='ftp.website.com/data'* 似乎不起作用?

我可以看到該文件夾​​存在於filezilla中,並且它具有所有讀/寫訪問權限。

如果有人能提出是否允許其許可問題或者是否有可能,我將不勝感激?

在此先感謝。

CODE ...

//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); 
+0

FTP服務器上的工作目錄之前,顯示您的代碼.. – 2012-04-16 14:59:47

+0

您可能正在尋找['ftp_chdir()'](HTTP:// WWW。 php.net/manual/en/function.ftp-chdir.php),我懷疑... – DaveRandom 2012-04-16 15:00:12

回答

3

好像你需要使用ftp_chdir()

正常連接,然後使用ftp_chdir()更改目錄。

+0

謝謝SenorAmor。我將底部改爲:ftp_chdir($ conn_id,'/ data'); ftp_put($ conn_id,$ txt_filename,$ output_dir。$ txt_filename,FTP_BINARY);已經工作。謝謝你的幫助。 – LeeG 2012-04-16 15:30:31

2

我假設你正在使用PHP的FTP功能上的絕對目標路徑。我看到兩個選項:

1)使用ftp_put並指定ftp服務器上的絕對路徑。 http://php.net/manual/de/function.ftp-put.php

2)上傳您的文件更改使用ftp_chdirhttp://php.net/manual/de/function.ftp-chdir.php

+0

感謝signpainter的指導。我將底部改爲:ftp_chdir($ conn_id,'/ data'); ftp_put($ conn_id,$ txt_filename,$ output_dir。$ txt_filename,FTP_BINARY);已經工作。謝謝你的幫助。 – LeeG 2012-04-16 15:31:41

相關問題