2012-03-08 2 views
2

Я пытаюсь переместить загруженный файл на удаленный сервер, это не работает;Перемещение загруженного файла на удаленный сервер

move_uploaded_file ($ tmp_name, "uploads/$ code1/$ code. $ Fileex");

$ftp_server = "IP"; 
$ftp_user_name = "username"; 
$ftp_user_pass = "password"; 
$file = $tmp_name; 
$remote_file = "/public_html/test/uploads/"; 

// set up basic connection 
$conn_id = ftp_connect($ftp_server); 

// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// upload a file 
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) { 
echo "successfully uploaded $file\n"; 
} else { 
echo "There was a problem while uploading $file\n"; 
} 

// close the connection 
ftp_close($conn_id); 

Я получаю этот erorr;

Предупреждение: ftp_put() [function.ftp-Put]: Не удается открыть этот файл: Является ли каталог в /home/file/public_html/uploaded.php на линии 52

+2

ЧТО ОШИБКА ВЫ ПОЛУЧАЕТЕ ??? – powtac

ответ

3

Ваш $remote_file переменная указывает в каталог, когда он должен указывать на файл. Попробуйте изменить $ remote_file в $remote_file = "/public_html/test/uploads/".$file;

+0

Я пытаюсь переместить локальный файл на удаленный сервер. – HarryBeasant

+0

Да, я это понимаю. Вам нужно указать путь на удаленном сервере, включая имя файла, однако в коде вы этого не делаете. Если вы посмотрите на документы для ftp_put (http://us.php.net/manual/en/function.ftp-put.php), вы увидите, что второй параметр относится к удаленному файлу, а не к удаленной папке. – j08691

+0

Легенда, это сработало! Благодаря! – HarryBeasant

1

Вы, вероятно, следует обернуть часть, которая загружает файл в, если заявление, которое проверяет, чтобы увидеть, если вы на самом деле правильно подключен к FTP

Кроме того, при загрузке файла, вам нужно файл 1 и файл 2. В настоящий момент вы предоставили файл 2 и каталог.

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

1

Файл, который вы пытаетесь перейти в каталог "/public_html/test/uploads/", необходимо добавить имя файла и расширение на каталог.

0

Добавьте следующую строку в конец файла /etc/vsftpd.conf

Добавить pasv_promiscuous = YES это

+0

он работал для меня в ubuntu 14 с использованием aws-сервера в 64-битном – rajkamal

Смежные вопросы