Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

[PHP] копировать файлы на фтп

255  
CoDSP посетитель17.08.13 00:38
CoDSP
NEW 17.08.13 00:38 
Доброе время суток.
задача: скопировать файлы на фтп сервере из папки А в папку Б. скрипт который это делает лежит на другом фтп.
как это можно сделать? можно это сделать с copy()?
весь день седня мучал ftp_get и ftp_put. пока без результатов.
заранее благодарю за ответы
#1 
GANDJUBAS Ганджубас17.08.13 00:51
GANDJUBAS
17.08.13 00:51 
в ответ CoDSP 17.08.13 00:38
ftp_rename($conn_id, "./A/file", "./B/file");
#2 
Murr патриот17.08.13 01:01
Murr
NEW 17.08.13 01:01 
в ответ CoDSP 17.08.13 00:38
как это можно сделать?
-----
В протоколе ФТП, насколько Я помню, нет поддержки операции копирования на сервере...
Так же не поддерживается удаленное исполнение произвольных команд...
#3 
CoDSP посетитель17.08.13 09:25
CoDSP
NEW 17.08.13 09:25 
в ответ Murr 17.08.13 01:01
rename не копирует если я не ошибаюсь.
В ответ на:
Так же не поддерживается удаленное исполнение произвольных команд...

a exec этого не делает?
#4 
  L@nixx постоялец17.08.13 11:55
NEW 17.08.13 11:55 
в ответ CoDSP 17.08.13 00:38
не совсем понятно: на фтп сервере вертится так же веб сервер и вы хотите через пхп скрипт скопировать с одного места в другое на этом же сервере файл или речь идет о стороннем фтп сервере ничего не имеющим с вебсервером через который вы вызываете свой пхп скрипт?
если первое то это не обязательно делать средствами фтп. как вы уже догадались это можно сделать не уровне системы к примеру вот так
exec ("cp /path/A /path/B");
важно что бы был доступ к записи в целевой папке и доступ к чтению из источника
#5 
CoDSP посетитель17.08.13 12:16
CoDSP
NEW 17.08.13 12:16 
в ответ L@nixx 17.08.13 11:55, Последний раз изменено 17.08.13 12:16 (CoDSP)
речь идет о стороннем фтп сервере ничего не имеющим с вебсервером через который вызывается свой пхп скрипт
#6 
GANDJUBAS Ганджубас17.08.13 12:55
GANDJUBAS
NEW 17.08.13 12:55 
в ответ CoDSP 17.08.13 09:25
Я подумал, что Вам нужно переместить файл из одной папки в другую.
Полноценное копирование FTP-протоколом не поддерживается. Просто нет такой команды.
Поэтому если Вам нужно полноценное копирование, то придется скачивать файл и снова сохранять в другую папку.
ftp_exec - это "черный ящик". Если у Вас конкретный сервер, конфигурации которого не меняются, можете попробовать. Большинство будет возвращать ошибку.
#7 
CoDSP посетитель17.08.13 15:42
CoDSP
NEW 17.08.13 15:42 
в ответ CoDSP 17.08.13 00:38
домучал ftp_get и ftp_put хоть и не очень красиво, но работает.
всем спасибо за ответы.
#8