Getом передать массив

Тема в разделе "Как сделать...", создана пользователем zilon, 29 янв 2014.

  1. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    Люди умные подскажите пожалуйста как передать массив GETом и вывести значения из него. У меня есть доменов с чебоксами и формочка для отправки данных от ftp. Отмечаю домены нажимаю на кнопку, на первый домен из массива заливается архив и три скрипта. Потом закрывается соединение и передаётся массив доменов скрипту который залился на первый домен. Этот скрипт скопирует файлы на остальные домены. Вот таким кодом передаю домены скрипту

    PHP:
    #массив доменов
    $domans $_POST['doman'];

    #заливку убрал, работает без ошибок...

          
    $result ftp_quit($connect); 
          if (
    $result == true)
          {
     
                echo 
    'соединение закрыто<br>';
                
    #вот так передаю данные скрипту для копипаста
                
    $getunzip "http://$domans[0]/copypast.php?doman=$domans";
                
    $open file_get_contents($getunzip);
                echo 
    $open;
     
          }
    скрипт для копипаста получает массив но у меня не получается вывести ни один домен! Пытался print_r форычом и через for и наугад 1 элемент вывести - ничего не выходит.

    вот код copypast.php он выводит Array

    PHP:
    $domans $_GET['doman'];

        
    print_r($domans);
        die();
    Подскажите пжалуста как правильно передать домены и вывести их :thenks:
     
  2. jDony

    jDony Создатель

    Регистр.:
    25 янв 2014
    Сообщения:
    41
    Симпатии:
    40
    Можешь передавать так:
    PHP:
    $domain $domains[0];
    $domains array_shift($domains);
    $domains base64_encode(serialize($domains));
    $getunzip "http://$domain/copypast.php?doman=$domains";
    $open file_get_contents($getunzip);
    А на принимающей стороне соответсвенно:
    PHP:
    $domains unserialize(base64_decode($_POST['domain']));
    Это если я правильно понял поток сознания написанный выше.
     
    Последнее редактирование: 29 янв 2014
    zilon нравится это.
  3. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    вот так попробовал сделать заработало но другая проблема вылезла, скопировать не получается

    PHP:
          echo 'соединение закрыто<br>';
          
    $getunzip "http://$domans[0]/copypast.php?fistdoman=$domans[0]&domans[1]=$domans[1]&domans[2]=$domans[2]&domans[3]=$domans[3]";
          
    $open file_get_contents($getunzip);
          echo 
    $open;
    а в копипасте вот что

    PHP:
        $fistdoman $_GET['fistdoman'];
        
    $domans $_GET['domans'];
        
    $archiveZip "/www/$fistdoman/archive.zip";
        
    $pclzipLib "/www/$fistdoman/pclzip.lib.php";
        
    $unzip "/www/$fistdoman/unzip.php";


        foreach (
    $domans as $doman)
        {

          if (
    copy($archiveZip"/www/$doman/archive.zip"))
          {
            echo 
    "скопировал $archiveZip сюда /www/$doman/archive.zip<br>";
          }

          if (
    copy($pclzipLib"/www/$doman/archive.zip"))
          {
            echo 
    "скопировал $pclzipLib сюда /www/$doman/pclzip.lib.php<br>";
          }

          if (
    copy($unzip"/www/$doman/archive.zip"))
          {
            echo 
    "скопировал $unzip сюда /www/$doman/unzip.php<br>";
          }
        }
    не получается скопировать, пишет Warning: copy(/www/домен.ру/archive.zip) [Перейти по ссылке]: failed to open stream: No such file or directory in /var/www/newmuzo/data/www/домен.ру/conf.php on line 6

    пробовал так скопировать но не выходит

    PHP:
    <?php
       
          $file 
    dirname(__FILE__);

          
    $fistdoman 'домен.ру';
          
    $doman 'домен.ру ';
          
    $archiveZip "$file/$fistdoman/archive.zip";
          if (
    copy($archiveZip"$file/$doman/archive.zip"))
          {
            echo 
    "скопировал $archiveZip сюда $doman/archive.zip<br>";
          }

    ?>
     
    Последнее редактирование: 29 янв 2014