помогите с Php

Тема в разделе "PHP программирование", создана пользователем dragon, 5 июн 2006.

Статус темы:
Закрыта.
  1. dragon

    dragon Гость

    мне надо доработать скрипт, идет ошибка. Вопрс у меня. данный скрипт первоначально занимался закачкой в один каталог сайта, на котором установлен. Как переделать его так, чтобы закачка шла только на определенный ftp сервер, А дальше пользователь вводил имя папки. Соответственно должно получиться вот что:
    два поля для ввода текста(in, out)в ин вводиться ссылка на файл, в аут папка на ftp серверенапремер такого рода (папка/фигня/папка 2/) . А файл отсылается на {ftp://сервер.com/uploads/папка/фигня/папка 2/ }
    как это сделать. Напишите плиз.
    Код (Text):
    <?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>
    Вот мой недаработанный код.
     
  2. dragon

    dragon Гость

    ну памагите ж вы
     
  3. WebTech

    WebTech Гость

    Вроде так
    Код (Text):
    <?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-сервер.';

    ?>
     
  4. dragon

    dragon Гость

    а куда чего вводить, всмысле где поля для ввода текста? я попробывал сам, ничего не получилось.
     
  5. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Ну а HTML уж сам придумай.
    Код рабочий, и делает точ то ты просил
     
  6. dragon

    dragon Гость

    ну раз вы так говорите, то небуду спорить. За скрипт спасибо, только как насторить его под пассивное подключение. В принцыпе, дальше я сам все сделаю. Большое спасибо за помощ.
    ********************************************************************************
    *******
    У меня еще один вопрос. Я забыл что доступ к этому серверу определяется через IP адрес пользователя. Как переделать систему авторизации данного скрипта?
     
  7. WebTech

    WebTech Гость

    Как это - через IP? Поподробнее, пожалуйста.
     
  8. dragon

    dragon Гость

    Ну, FTP сервер распознает определенные ip адреса. По ним высчитывается трафик каждого. Я не уверен. Поподробнее расскажу когда получу обьеснение тех. стороны вопроса
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей