Код отлично работает при загрузке в один каталог (в данном случае /global/1/), но не работает при загрузке в другой (в данном случае /{FCADC481-CACAA556A47A}/_schedules/). Поэтому я не думаю, что проблема в коде.
Файл, который я пытаюсь загрузить, представляет собой XML, но я также пробовал с .mov и .avi.
Я пробовал и FTP_ASCII, и FTP_BINARY.
Я пробовал с ftp_pasv и без него.
Оба каталоги и подкаталоги имеют одинаковые атрибуты доступа к файлам (666)
Я могу загрузить в обе эти папки напрямую с помощью Filezilla.
Возвращается ошибка:
"Ядро: обработчик ошибок (BE): Предупреждение PHP: ftp_put(): соединение закрыто; Stream-Lesefehler."
Код: Выделить всё
$response = false;
$local_file = "/test.xml";
$remote_path = "/{".$pov."}/_schedules/"; // NOTE { and } ARE part of the folder name.
$remote_file = $remote_path . "test.xml";
if($ftp_conn = ftp_connect($this->ftphost, $this->ftpport,15)){
if (ftp_login($ftp_conn, $this->ftpusr, $this->ftppss)) {
ftp_pasv($ftp_conn, true);
if (ftp_put($ftp_conn, $remote_file, $local_file, FTP_ASCII)) {
$response = true;
}
}
}
ftp_close($ftp_conn);
return $response;
Я знаю, что { можно использовать в PHP для расшифровки значения переменной в строке, поэтому я попробовал заменить символ на другой, а затем снова заменить его str_replacing, но это не решило проблему.
Что мне делать дальше?
Подробнее здесь: https://stackoverflow.com/questions/620 ... -directory
Мобильная версия