Заливка на народовский фтп с помощью php, как?

seosniks
На сайте с 13.08.2007
Offline
389
713

Друзья подскажите решение рабочее, задача закинуть сателлитик на фтп

с помощью скрипта.

Самое простое что либо

типа

залить файл index.html

залить папку xxx

в папку залить index.html/ Спасибо.

Такой код что то у меня не пашет

зайти удается а вот залить не могу

<?php

// переменные для логина
$ftphost = "логин.ftp.narod.ru";

$user = "логин";
$password = "пароль";

// открываем FTP соединение, в случае неудачи останавливаем работу сценария
$fp = ftp_connect($ftphost) or die ("Не могу соедениться c FTP сервером");

// логинимся
$connect = ftp_login($fp, $user, $password);

// проверяем успешность входа
if($connect) echo "OK - мы вошли как $user <br>";
else
echo "Ошибка входа на FTP сервер";

ftp_mkdir ($fp, "images/imm/");
ftp_chdir ($fp, "images/imm/");

ftp_pasv ( $fp , TRUE);
/*
$image = fopen("image.gif", "r"); // открываем нужный файл для чтения
$loadfile = ftp_fput ( $fp, "image.gif" , $image , FTP_BINARY ); // передаем его на FTP
fclose($image); // закрываем файл
*/

// проверяем успешность заливки
if($loadfile)
echo "Файл Успешно загружен <br>";
else
echo "Ошибка загрузки файла <br>";

ftp_cdup($fp); // Переходим в родительскую директорию
$indexfile = fopen("index.html", "r"); // открываем нужный файл для чтения
$loadfile = ftp_fput ( $fp, "index.html" , $indexfile , FTP_ASCII ); // передаем его на FTP
fclose($indexfile); // закрываем файл

$stylefile = fopen("style.css", "r"); // открываем нужный файл для чтения
$loadfile = ftp_fput ( $fp, "style.css" , $stylefile , FTP_ASCII ); // передаем его на FTP
fclose($stylefile); // закрываем файл

// закрываем FTP соединение
ftp_close($fp);
?>
tea82
На сайте с 22.11.2010
Offline
1
#1

Ошибку выдает какую нибудь?

[Удален]
#2

Проблема в том, что с помощью функции ftp_mkdir() Вы пытаетесь создать две директории: /images и /imm — где, скорее первая директория не существует. Учитывая что для второго параметра данной функции нужно указать имя создаваемой директории, нужно создать первую директорию, а потом — второю.

Пример:

ftp_mkdir( $fp, 'images' );

ftp_mkdir( $fp, 'images/imm' );

Насчёт Вашей просьбе, попробуйте следующий код:

$user = 'логин';

$pass = 'пароль';
$host = 'логин.ftp.narod.ru';

$ftp_id = ftp_connect( $host );
if( !ftp_login( $ftp_id, $user, $pass ) )
{
die( 'Не могу соедениться c FTP сервером' );
}
ftp_pasv( $ftp_id, true );
ftp_put( $ftp_id, '/index.html', 'index.html', FTP_BINARY ); // залить файл index.html
ftp_mkdir( $ftp_id, 'xxx' ); // залить папку xxx
ftp_put( $ftp_id, '/xxx/index.html', 'index.html', FTP_BINARY ); // в папку xxx залить index.html
ftp_close( $ftp_id );
seosniks
На сайте с 13.08.2007
Offline
389
#3

w0den, Спасибо все заработало, я все делал верно просто почему-то меня залочил фтп. Вернее

просил подтвердить мобилку на одном фтп.

Щас все путем

мой код тоже пашет.Всем спасибоньки.🍿

seosniks добавил 21.12.2010 в 21:29

tea82:
Ошибку выдает какую нибудь?

Разобрался кажись.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий