За последние 24 часа нас посетили 23002 программиста и 1257 роботов. Сейчас ищут 744 программиста ...

помогите с выполнением внешней программы

Тема в разделе "Прочие вопросы по PHP", создана пользователем gibson, 13 мар 2006.

  1. gibson

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

    С нами с:
    13 мар 2006
    Сообщения:
    1
    Симпатии:
    0
    Подскажите плиз есть код он исполняет внешнюю программу
    Код (Text):
    1. <?php
    2. $output = shell_exec('D:\soft\UWC\db.exe find admin');
    3. echo "<pre>$output</pre>";
    4. ?>
    Она выводит ответные данные в виде
    Код (Text):
    1. <?xml version="1.0" encoding="UTF-8"?>
    2.   <accountfind>
    3.     <status>successfully</status>
    4.     <accounts>
    5.       <account>
    6.         <id>0</id>
    7.         <name>ADMIN</name>
    8.         <password>ADMIN</password>
    9.         <last_ip>127.0.0.1</last_ip>
    10.         <chars>
    11.         </chars>
    12.         <plevel>6</plevel>
    13.         <banned>0</banned>
    14.         <locked>0</locked>
    15.         <last_access>10.03.2006</last_access>
    16.       </account>
    17.     </accounts>
    18.   </accountfind>
    мне надо чтоб он эти не выводил на экран а в переменную для дальнейшего анализа и преобравзования а потом тока результат
     
  2. Mavir

    Mavir Guest

    Убери строку
    PHP:
    1. echo "<pre>$output</pre>";
    и не будет выводиться на экран
     
  3. Michael

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

    С нами с:
    7 фев 2006
    Сообщения:
    54
    Симпатии:
    0
    А в чем проблема-то? Согласно документации, shell_exec() и так будет возвращать данные в переменную $output.[/url]
     
  4. Rammstein

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

    С нами с:
    12 мар 2006
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Кемерово
    Да это не форум о пхп, а сплошной "Юмор" :)
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Rammstein
    бобрам смешно ... бобры мудрые ... 8)
     
  6. Michael

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

    С нами с:
    7 фев 2006
    Сообщения:
    54
    Симпатии:
    0
    Rammstein, да ладно тебе :)
     
  7. Minos

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

    С нами с:
    15 мар 2006
    Сообщения:
    2
    Симпатии:
    0
    Помогите пожалуйста со следующей проблеммой:
    Необходимо написать скрипт автоматического добавления пользователей в приватную зону.
    Приватная зона организована стандартным htaccess и htpassword.
    Можете подсказать алгоритм формирования файла с поролями через Apache'вскую утилиту htpasswd.exe или помочь со скриптом по запуску данной утилиты.
    Проблемма в том что при запуске данной утилиты с параметром создать новый файл мне удается получить разве что пустой файл...
    Код (Text):
    1. <?
    2. exec('htpasswd.exe -cmb .htps user test');
    3. ?>
    Аналогично с shell_exec.

    Система на которой тестируется находится под WinXP, но необходимо чтобы и под Linux работало.
    (Под Linux пока что не пробовал)
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Minos
    а ты его (htpasswd) сначала руками запусти и увидишь почему не содаются юзеры. 8)
     
  9. Minos

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

    С нами с:
    15 мар 2006
    Сообщения:
    2
    Симпатии:
    0
    Да в том то и дело, что ручками то все получается, а со сриптом -- нет!
    Если в винде делаю:
    cmd /k C:\Sites\home\localhost\www\htpasswd.exe -cmb C:\Sites\home\localhost\www\.htps user test
    то все получается (можно и с ключом /c),
    А вот если я эту команду запихиваю в system() или exec(), то получаю появившийся новый файл, но ПУСТОЙ.....
    :?:

    Или подскажите алгоритм как получить структуру записи как создаваемая утилой htpasswd.
    Код (Text):
    1. user1:$apr1$4J2.....$QjSs.EqNYX70BwC2hE5Su0
    Какие методы шифрования применяются crypt(), md5() и с какими параметрами их нужно запускать, чтобы получить запись, которая при добавлении в файл паролей работала.