Помогите с ftp на php

Статус
В этой теме нельзя размещать новые ответы.
S

spamit

Прохожие
Помогите с ftp на php.
Вот кусок кода-

$fp=fopen(''.$name.$_POST['1'],'w');
if (!$fp)
echo "<p><img src=echo.gif><br>Неудачно\n";
fwrite($fp,$tpl_out);
fclose($fp);
print 'создана страница - '.$name.''.$_POST['1'].'<br>';
flush();

}
print '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"><body bgcolor="#eeeeee" txt="red" link="red" alink="red" vlink="red" align="center"><font color="#FF0000"><a href="index.php">Завершино!</a></font></body>';
}
else
{
print '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"><font color="red"><img src=echo.gif><br>Ошибка.</font> <br>';
}
}


Он все файлы создаёт в текущем каталоге. А как сделать чоб лил на ftp?
Хочу пример.
 
PHP:
 <?php
// 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); 

// check connection
if ((!$conn_id) || (!$login_result)) { 
       echo "FTP connection has failed!";
       echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
       exit; 
   } else {
       echo "Connected to $ftp_server, for user $ftp_user_name";
   }

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); 

// check upload status
if (!$upload) { 
       echo "FTP upload has failed!";
   } else {
       echo "Uploaded $source_file to $ftp_server as $destination_file";
   }

// close the FTP stream 
ftp_close($conn_id); 
?>
 
Или вот тебе класс для работы с фтп на php.
 

Вложения

  • ftp.class.zip
    1,1 KB · Просмотры: 7
spamit написал(а):
Помогите с ftp на php.
Вот кусок кода-

$fp=fopen(''.$name.$_POST['1'],'w');
if (!$fp)
echo "<p><img src=echo.gif><br>Неудачно\n";
fwrite($fp,$tpl_out);
fclose($fp);
print 'создана страница - '.$name.''.$_POST['1'].'<br>';
flush();

}
print '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"><body bgcolor="#eeeeee" txt="red" link="red" alink="red" vlink="red" align="center"><font color="#FF0000"><a href="index.php">Завершино!</a></font></body>';
}
else
{
print '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"><font color="red"><img src=echo.gif><br>Ошибка.</font> <br>';
}
}


Он все файлы создаёт в текущем каталоге. А как сделать чоб лил на ftp?
Хочу пример.
Начни с php.net/ftp - очень подробно всё расписано.
 
подскажите пожалуйста, можно ли удерживать постоянное соединение с FTP, а не разрывать его каждый раз по завершении работы скрипта?
Например, для работы FTP клиента, написанного на PHP, нужно каждый раз коннектиться к серверу при переходе от одной директории к другой (с одной страницы на другую) . Есть ли другой способ?
Благодарю!
 
Для коннекта используется
$conn_id
= ftp_connect($ftp_server);

Можно попробовать запоминать $conn_id в переменных сессии и использовать ее. Но кажись фтп сервер может обрывать соединение по таймауту.
Т.е. еще по идее нужно делать проверку наличия соединения при каких-либо действиях с фтп.

Сам не пробовал. Если будешь пробовать, сообщи о результатах плиз.
 
pk2002 написал(а):
Можно попробовать запоминать $conn_id в переменных сессии и использовать ее.
На данный момент так и делаю, не передавать же пасс и логин от страницы к странице методом post или get :)
Но сервер обрывает соединение как только заканчивается работа скрипта на странице, даже если в конце нет ftp_close. Это, конечно, логично для использования на веб страничках, но вот кажется для mysql есть какая-то функция, которая создает постоянное соединение с базой данных, а для FTP такой функции видать нет...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху