Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: помогите с Php
Форум программистов > Интернет и сети > Web-программирование > PHP программирование
dragon
мне надо доработать скрипт, идет ошибка. Вопрс у меня. данный скрипт первоначально занимался закачкой в один каталог сайта, на котором установлен. Как переделать его так, чтобы закачка шла только на определенный ftp сервер, А дальше пользователь вводил имя папки. Соответственно должно получиться вот что:
два поля для ввода текста(in, out)в ин вводиться ссылка на файл, в аут папка на ftp серверенапремер такого рода (папка/фигня/папка 2/) . А файл отсылается на {ftp://сервер.com/uploads/папка/фигня/папка 2/ }
как это сделать. Напишите плиз.
<?php
if(isset($HTTP_POST_VARS['in']))
{
$fn = $HTTP_POST_VARS['in'];
$handle = fopen ($fn, 'rb');
$contents = "";
if(!$handle)
   echo 'Не могу открыть исходный файл';
else
{
   while(!feof($handle))
   {
     $data = fread($handle, 8192);
     $contents .= $data;
   }
   fclose ($handle);

   $HTTP_GET_VARS['out']
   $handle = fopen ('./download/' . basename($fn), 'wb');
   if(!$handle)
     echo 'Не могу создать записать файл';
   else
   {
     fwrite($handle, $contents);
     fclose($handle);
     echo 'Передача завершена';
   }
}
}
?>              

<FORM ACTION="<?php echo $_SERVER['PHP_SELF']; ?>" METHOD="post">
<INPUT TYPE="hidden" NAME="act" VALUE="send">
URL:<BR />
<INPUT TYPE="text" NAME="in" SIZE="64"><BR />
out URL:<BR />
<INPUT TYPE="text" NAME="out" SIZE="64"><BR />

<INPUT TYPE="submit" VALUE=" Send">

</FORM><BR />
</BODY></HTML>

Вот мой недаработанный код.
dragon
ну памагите ж вы
WebTech
Вроде так
<?php

$file = $_POST['in'];
$ftp_dir = $_POST['out'];

$ftp_server = 'ftp.server.com'; // имя ftp-сервера
$ftp_port = '21'; // порт ftp-сервера; по умолчанию 21
$ftp_login = 'login'; // логин к ftp-серверу
$ftp_password = 'passwd'; // пароль к ftp-серверу

$fc = ftp_connect ($ftp_server, $ftp_port);
if (!$fc)
  {
  echo 'Не удалось подключиться к FTP-серверу!';
  exit;
  }

$auth = ftp_login($fc, $ftp_login, $ftp_password);
if (!$auth)
  {
  echo 'Не удалось авторизоваться на FTP-сервере';
  exit;
  }
  
ftp_chdir($fc, $ftp_dir); // переходим в заданный каталог на ftp-сервере

$ld = ftp_put ($fc, basename($file), $file, FTP_BINARY);
if(!$ld)
  {
  echo 'Не удалось выгрузить файл на FTP-сервер!';
  exit;
  }

echo 'Файл '.$file.' выгружен на FTP-сервер.';

?>
dragon
а куда чего вводить, всмысле где поля для ввода текста? я попробывал сам, ничего не получилось.
SOFTOBZOR.ru
Ну а HTML уж сам придумай.
Код рабочий, и делает точ то ты просил
dragon
ну раз вы так говорите, то небуду спорить. За скрипт спасибо, только как насторить его под пассивное подключение. В принцыпе, дальше я сам все сделаю. Большое спасибо за помощ.
********************************************************************************
*******
У меня еще один вопрос. Я забыл что доступ к этому серверу определяется через IP адрес пользователя. Как переделать систему авторизации данного скрипта?
WebTech
Как это - через IP? Поподробнее, пожалуйста.
dragon
Ну, FTP сервер распознает определенные ip адреса. По ним высчитывается трафик каждого. Я не уверен. Поподробнее расскажу когда получу обьеснение тех. стороны вопроса
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.