2012-04-16 4 views
1

Est-il possible de télécharger un fichier dans un sous-dossier sur un serveur FTP?FTP vers un sous-dossier

J'envoie un fichier quotidiennement à un serveur FTP, planifié sur un travail cron qui exécute un fichier php. Tout fonctionne bien, mais maintenant on m'a demandé de changer la destination en sous-dossier.

Modification de $ $ nom_serveur = 'ftp.website.com' * en * $ nom_serveur = 'ftp.website.com/data'* ne semble pas fonctionner?

Je peux voir le dossier existe dans filezilla et il a tout l'accès en lecture/écriture dans les autorisations.

Je serais reconnaissant si quelqu'un peut conseiller si c'est un problème de permission ou si c'est possible du tout?

Merci d'avance.

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

montrer votre code .. –

+0

Vous cherchez probablement [ 'ftp_chdir()'] (http: // www. php.net/manual/fr/function.ftp-chdir.php), je suspecte ... – DaveRandom

Répondre

3

On dirait que vous devez utiliser ftp_chdir().

Connectez-vous comme d'habitude, puis changez de répertoire en utilisant ftp_chdir().

+0

Merci SenorAmor. J'ai changé le bas pour: ftp_chdir ($ conn_id, '/ data'); ftp_put ($ conn_id, $ txt_filename, $ output_dir. $ Txt_filename, FTP_BINARY); ce qui a fonctionné. Merci de votre aide. – LeeG

2

Je suppose que vous utilisez les fonctions ftp de PHP. Je vois deux options:

1) Utilisez ftp_put et spécifiez le chemin absolu sur le serveur FTP. http://php.net/manual/de/function.ftp-put.php

2) Avant de télécharger le fichier changer le répertoire de travail sur le serveur FTP à l'aide ftp_chdirhttp://php.net/manual/de/function.ftp-chdir.php

+0

Merci pour les indications. J'ai changé le bas pour: ftp_chdir ($ conn_id, '/ data'); ftp_put ($ conn_id, $ txt_filename, $ output_dir. $ Txt_filename, FTP_BINARY); ce qui a fonctionné. Merci de votre aide. – LeeG

Questions connexes