So you mean by just putting this code, it will print what I want?

<?php
$info = `/pathtofile.ini` 
print_r( get_browser() ); 
?>

    In your main script put the system call

    $info = /usr/local/bin/php getbrowser.php

    in a seperate file called getbrowser.php put
    <?
    print_r( get_browser() );
    ?>
    Make sure you have edited php.ini to point to the browscap.ini
    and that it is in the same dir as getbrowser.php

      This should work, but it seems I have something wrong with my foreach statement. This code:

      <?
      $info = `/home/ getbrowser.php`;
      
      foreach ($info as $item => $val) {
      echo "<b>$item</b> $val <br />\n";
      }
      ?>
      

      Returns this error:

      Warning: Invalid argument supplied for foreach() in /home/main.php on line 35

        That means you are not getting an array into $info

        could it be:

        $info = /home/getbrowser.php;
        instead?

          I can't get it. 🙁

          Here is how everything is set up.

          /home/scripts contains main.php, getbrowser.php, browscap.ini, and php.ini. main.php has the following code:

          <?php
          $info = `/home/scripts/getbrowser.php`;
          
          foreach ($info as $item => $val) {
          echo "<b>$item</b> $val <br />\n";
          }
          ?>

          getbrowser.php has the following code:

          <?php
          print_r( get_browser() );
          ?>

          Yet I get this error: Warning: Invalid argument supplied for foreach() in /home/scripts/main.php on line 37

          What is going wrong?

            oops, didnt read carefully.

            Basically, HalfaBee's idea is to use the PHP interpreter from command line.

            //main script
            $info = `/path/to/php getbrowser.php`;
            print_r($info); //see if it is correct
            
            //getbrowser.php
            <?php
            print_r(get_browser());
            ?>

              I tried this earlier...No error, but no output either.

                Still having a problem...Now I get no errors but no output. I'm not quite sure I understand the PHP interpreter via the command line. How does this work?

                  Try doing
                  <?
                  passthru('ls -la /usr/local/bin/php' );
                  ?>

                  to see if it is actually there.

                  You can also do this to see where it is
                  <?
                  echo '<PRE>';
                  passthru( 'locate php' );
                  ?>

                  PHP is just a program that you can run on the server.
                  Just like doing ls or ps

                    The first command returns this:

                    rwxr-xr-x 1 root root 7429677 Mar 9 08:02 /usr/local/bin/php

                    while the 2nd command returns a LOT of stuff. I still don't see how all of this works.🙁

                      It shows php is available and you can run it.

                        OK, getbrowser.php has this code:

                        <?php
                        //print_r( get_browser() );
                        echo get_browser($_SERVER['argv'][0]);
                        ?>

                        main.php has this code:

                        <?php
                        $info = `/path/to/dir getbrowser.php`;
                        
                        print_r($info);
                        ?>

                        /path/to/dir is the path to browscap.ini as well as php.ini and the scripts I am running (getbrowser.php and main.php). Same problem. No errors and no output.

                          Ok, this works fine for me.

                          getbrowser.php
                          <?
                          print_r( get_browser( $_SERVER['argv'][1] ) );
                          ?>

                          testscript.php
                          <?
                          echo '<pre>';
                          echo 'Trying '."/usr/local/bin/php -c ./php.ini gb.php \"$HTTP_USER_AGENT\"\n";

                          passthru( "/usr/local/bin/php -c ./php.ini gb.php \"$HTTP_USER_AGENT\" ",$ret );
                          if( $ret !=0 )
                          echo "passthru failed $ret";
                          else
                          echo 'passthru worked' ;

                          ?>

                          It only echo's the data to the screen, but I am sure you can work out how to parse the data.

                            That script returned this:

                            Trying /home/public_html/scripts -c ./php.ini getbrowser.php "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)"
                            passthru failed 126

                              You are taking out the call to php and replacing it with /home/public_html/scripts

                              Just cut and paste what I posted and it should work if the two files are in the same dir.

                                I think I'm getting closer. This time the script returned this:

                                Trying /usr/local/bin/php -c php.ini getbrowser.php "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)"
                                Could not open input file: getbrowser.php.
                                passthru failed 1

                                  Is getbrowser.php is the same dir?
                                  You could try ./getbrowser.php otherwise.

                                    main.php
                                    getbrowser.php
                                    php.ini
                                    browscap.ini

                                    all those files are in the same directory, which is /home/scripts

                                      Getting closer.

                                      Try replacing this line
                                      echo 'Trying '."/usr/local/bin/php -c ./php.ini getbrowser.php \"$HTTP_USER_AGENT\"\n";

                                      with

                                      echo 'Trying '."/usr/local/bin/php -c ./php.ini /home/scripts/getbrowser.php \"$HTTP_USER_AGENT\"\n";

                                        That returns this:

                                        Trying /usr/local/bin/php -c ./php.ini /home/scripts/getbrowser.php "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)"

                                        Warning: get_browser(): browscap ini directive not set. in /home/scripts/getbrowser.php on line 13
                                        passthru worked