2016-01-31 6 views
1

Из моего приложения Swift Я отправляю файл изображения на свой PHP-скрипт и из своего PHP-скрипта хочу загрузить его на свой FTP-сервер.Загрузить изображение на FTP

Вот мой сценарий

<?php 

$ftp_server = "My FTP"; 
$ftp_user = "Username"; 
$ftp_pass = "Password"; 
$file = $_FILES["file"]["tmp_name"]; 
$remote_file = "test.png"; 

// set up a connection or die 
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 

// try to login 
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) { 
    echo "Connected as [email protected]$ftp_server\n"; 
} else { 
    echo "Couldn't connect as $ftp_user\n"; 
} 

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

// close the connection 
ftp_close($conn_id); 
?> 

I'm подключения к серверу и I'm способный загрузить файл, но мой вопрос заключается в том, что загрузка файлов I'm поврежден. Я думаю, что это связано с моим $remote_file = "test.png";. Правильно ли использовать ftp_put для загрузки файла, и кто-нибудь знает, почему он поврежден?

+0

Вы хотите использовать 70-й протокол 'ftp'? Шутки в сторону? В 2016 году? – arkascha

+0

@arkascha, у меня нет большого опыта работы с PHP. Может быть, вы могли бы представить обновленный пример? – user5855868

+0

Извините, это не проблема php, это общий вопрос об организации сети. Старый протокол «ftp» восходит к давно ушедшей эпохе. У этого есть несколько проблем, которые предполагают, что вы хотите использовать современную замену, например 'sftp' или' webdavs', вместо этого ... 'ftp' не предлагает шифрования, поэтому каждый в Интернете может читать ваш пароль и данные, и это кошмар для сетевых администраторов из-за его инфляционного использования портов для обмена файлами ... – arkascha

ответ

0
<?php 

$ftp_server = "My FTP"; 
$ftp_user = "Username"; 
$ftp_pass = "Password"; 
$file = $_FILES["file"]["tmp_name"]; 
$remote_file = "test.png"; 

// set up a connection or die 
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 

// try to login 
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) { 
    echo "Connected as [email protected]$ftp_server\n"; 
} else { 
    echo "Couldn't connect as $ftp_user\n"; 
} 

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

// close the connection 
ftp_close($conn_id); 
?> 
+0

Это было! Спасибо :) – user5855868

+0

Любые идеи, как изменить код выше на 'sftp'protocol? – user5855868

+0

Итак, у вас есть файл, в котором вы хотите ;-) – hherger

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