За последние 24 часа нас посетили 57294 программиста и 1809 роботов. Сейчас ищут 972 программиста ...

Ftp

Тема в разделе "PHP для новичков", создана пользователем gun15, 22 янв 2009.

  1. gun15

    gun15 Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    34
    Симпатии:
    0
    У меня есть скриптик который из бд выводит ввиде чек боксов адреса фтп на которые нужно залить файлы! Надо методом пост передать снала одно имя из выбранных ftp он заливает потом следующий выбранный адрес! Как это сделать???


    PHP:
    1. <?php
    2. include ("blocks/db.php"); //файл с логином пароле к бд и выбором таблицы
    3. $rezult = mysql_query("SELECT id,ftp FROM blogs", $db);
    4. $myrow = mysql_fetch_array($rezult);
    5.  
    6. do
    7. {
    8.     echo '<input type="checkbox"'.'value="'.$myrow[id].'"'. 'name="'.$myrow[ftp] .'">'.$myrow['ftp']."<br>";
    9. }
    10.    
    11. while ($myrow = mysql_fetch_array($rezult));
    12.        
    13.     ?> 

    вот функция заливки файлов из папки

    PHP:
    1.  
    2.  
    3.  function do_upload($dir = 'upload')
    4. {  
    5.    global $conn_id, $ftp_root, $transfer_mode, $local_dir;
    6.    $ftp_dir = preg_replace('/^'.$local_dir.'\/?/', '', $dir);
    7.    if ($ftp_dir != '')
    8.       echo 'Папка '. $ftp_dir . ((ftp_mkdir($conn_id, $ftp_root . $ftp_dir)) ? ' создана' : ' не создана').'<br />';
    9.    $filelist = glob(($dir!='') ? $dir.'/*' : '*');
    10.    if ($filelist == array())
    11.       return 0;
    12.    foreach ($filelist as $file)
    13.       {
    14.       if (is_file($file))
    15.          {
    16.          $transfer_mode = (preg_match('/\.(gif|jpg|png)$/', $file)) ? FTP_BINARY : FTP_ASCII;
    17.        echo 'Файл ' . $file . ((ftp_put($conn_id, $ftp_root . $ftp_dir, $file, $transfer_mode)) ? ' загружен' : ' не загружен').'<br />';
    18.          }
    19.       else    
    20.          do_upload($file);
    21.       }
    22.    return 0;  
    23. }
    24.  
     
  2. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    я понимаю слова, но не понимаю смысла ©
    подоступнее объясни
     
  3. gun15

    gun15 Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    34
    Симпатии:
    0
    У меня есть скриптик который из бд выводит ввиде чек боксов адреса фтп на которые нужно залить файлы! Надо методом пост передать снала одно имя из выбранных ftp он заливает потом следующий выбранный адрес! Как это сделать??? Короче при запросе идет выборка из бд он показывает все фтп из базы ! появляется список в виде чек боксов! Я выбираю нужные мне! Жму отправить и форма должна принять пареметр id выбранных из списка и уже потом сделать запрос в бд по id и выбирает от туда логин пароль сервер ипапку и проч. атрибуты и и передает ей функции заливки на фтп!

    PHP:
    1. <?php
    2. include ("blocks/db.php"); //файл с логином пароле к бд и выбором таблицы
    3. $rezult = mysql_query("SELECT id,ftp FROM blogs", $db);
    4. $myrow = mysql_fetch_array($rezult);
    5.  
    6. do
    7. {
    8.      echo '<input type="checkbox"'.'value="'.$myrow[id].'"'. 'name="ftp">'.$myrow['ftp']."<br>";
    9. }
    10.    
    11. while ($myrow = mysql_fetch_array($rezult));
    12.        
    13.     ?> 

    вот файл который принимает данные

    PHP:
    1.  
    2.  
    3.  <?php
    4.    
    5. include ("blocks/db.php");
    6. include ("blocks/downloads.php");  
    7.  
    8. $b = $_POST['ftp'];
    9.  
    10. echo $b;
    11.  
    12. for ($index = 0 ; $index < count($b); $index++)
    13. {
    14.     $rezult = mysql_query("SELECT ftp,login,pass,dir FROM blogs WHERE id='$b[lines]'", $db);
    15.     $myrow = mysql_fetch_array($rezult);
    16.    
    17. $ftp_server = $myrow["ftp"];
    18. $ftp_login  = $myrow["login"];
    19. $ftp_password = $myrow["pass"];
    20. $ftp_root  = $myrow["dir"];
    21. $local_dir = "/wp/";
    22.  
    23. $conn_id = @ftp_connect($ftp_server);
    24.  if (@$conn_id == false){echo "Соединение с серверов $ftp_server не установлено!<br>";}
    25.  else{
    26.  $login_result = @ftp_login($conn_id, $ftp_login, $ftp_password);
    27.  if (!$conn_id || !@$login_result)
    28.    echo("<br>НЕ правильно введено имя или пароль для $ftp_server<br>");
    29.  else {
    30.    echo "Установлено соединение с FTP сервером $ftp_server<br>";
    31.  do_upload($local_dir);
    32.  ftp_close($conn_id);
    33. }}}
    34.  
    35. ?>
    36.  
     
  4. VItalijs

    VItalijs Активный пользователь

    С нами с:
    17 дек 2008
    Сообщения:
    244
    Симпатии:
    0
    Адрес:
    Рига, Латвия
    echo '<input type="checkbox"'.'value="'.$myrow[id].'"'. 'name="ftp[]">'.$myrow['ftp']."<br>";

    byt используй do ... while; используй while($myrow = mysql_fetch_array($result)){}
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    На кол Попова! на кол