PHP Classes

File: index.php

Recommend this page to a friend!
  Classes of peyman   PHP Windows exe Parser   index.php   Download  
File: index.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Windows exe Parser
Parse and extract details from Windows exe files
Author: By
Last change:
Date: 4 years ago
Size: 8,957 bytes
 

Contents

Class file image Download
<?php
 
require('filedetailsparser.php');

 
$filepath = 'C:\Program Files\Git\git-bash.exe';
 
$error = false;
  try {
     
$filedetails = new filedetailsparser($filepath);
     
$data = $filedetails->getdata('object');
     
//$data = $filedetails->getdata(); // array
      //$filesize = $filedetails->getbykeyname('filesize');
      //$data = $filedetails->getdatalist(['filesize','pathinfo']);
 
} catch (Exception $e) {
     
$error = true;
     
$errormessage = $e->getMessage();
  }
?>
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

    <title>File Details Parser</title>
  </head>
  <body>

    <header>
      <div class="navbar navbar-dark bg-dark box-shadow">
        <div class="container d-flex justify-content-between">
          <a href="#" class="navbar-brand d-flex align-items-center">
            <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" x="0px" y="0px" viewBox="0 0 496 496" style="enable-background:new 0 0 496 496;" xml:space="preserve"><path style="fill:#FAEFDE;" d="M440,424H32c-13.6,0-24-10.4-24-24V96c0-13.6,10.4-24,24-24h120l72,48h192c13.6,0,24,10.4,24,24V424z"/><path style="fill:#FFF7F0;" d="M32,72h128l56,56H8V96C8,82.4,18.4,72,32,72z"/><path style="fill:#CDA1A7;" d="M440,152h32c8.8,0,16,7.2,16,16v232c0,13.6-10.4,24-24,24h-24l0,0V152L440,152z"/><path style="fill:#EFD8BE;" d="M8,344h432l0,0v80l0,0H32c-13.6,0-24-10.4-24-24V344L8,344z"/><g><path style="fill:#F75F83;" d="M232,176h-48c-4.8,0-8,3.2-8,8s3.2,8,8,8h48c4.8,0,8-3.2,8-8S236.8,176,232,176z"/><path style="fill:#F75F83;" d="M72,192h80c4.8,0,8-3.2,8-8s-3.2-8-8-8H72c-4.8,0-8,3.2-8,8S67.2,192,72,192z"/><path style="fill:#F75F83;" d="M104,208H72c-4.8,0-8,3.2-8,8s3.2,8,8,8h32c4.8,0,8-3.2,8-8S108.8,208,104,208z"/><path style="fill:#F75F83;" d="M192,208h-56c-4.8,0-8,3.2-8,8s3.2,8,8,8h56c4.8,0,8-3.2,8-8S196.8,208,192,208z"/></g><g><path style="fill:#8D6C9F;" d="M408,336h-32c-4.8,0-8,3.2-8,8s3.2,8,8,8h32c4.8,0,8-3.2,8-8S412.8,336,408,336z"/><path style="fill:#8D6C9F;" d="M472,144h-24v-8c0-13.6-10.4-24-24-24H221.6c-6.4,0-12-2.4-16.8-7.2l-29.6-29.6C168,68,157.6,64,147.2,64H24C10.4,64,0,74.4,0,88v312c0,17.6,14.4,32,32,32h432c17.6,0,32-14.4,32-32V168C496,154.4,485.6,144,472,144z M32,416c-8.8,0-16-7.2-16-16v-48h328c4.8,0,8-3.2,8-8s-3.2-8-8-8H16V88c0-4.8,3.2-8,8-8h123.2c6.4,0,12,2.4,16.8,7.2l29.6,29.6c7.2,7.2,17.6,11.2,28,12H424c4.8,0,8,3.2,8,8v264c0,5.6,1.6,11.2,4.8,16H32V416z M480,400c0,8.8-7.2,16-16,16c-8.8-0.8-15.2-7.2-16-16V160h24c4.8,0,8,3.2,8,8V400z"/><path style="fill:#8D6C9F;" d="M40,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C48,371.2,44.8,368,40,368z"/><path style="fill:#8D6C9F;" d="M80,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C88,371.2,84.8,368,80,368z"/><path style="fill:#8D6C9F;" d="M120,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C128,371.2,124.8,368,120,368z"/><path style="fill:#8D6C9F;" d="M160,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C168,371.2,164.8,368,160,368z"/><path style="fill:#8D6C9F;" d="M200,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C208,371.2,204.8,368,200,368z"/><path style="fill:#8D6C9F;" d="M240,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8c4.8,0,8-3.2,8-8v-16C248,371.2,244.8,368,240,368z"/><path style="fill:#8D6C9F;" d="M280,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C288,371.2,284.8,368,280,368z"/><path style="fill:#8D6C9F;" d="M320,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C328,371.2,324.8,368,320,368z"/><path style="fill:#8D6C9F;" d="M360,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C368,371.2,364.8,368,360,368z"/><path style="fill:#8D6C9F;" d="M400,368c-4.8,0-8,3.2-8,8v16c0,4.8,3.2,8,8,8s8-3.2,8-8v-16C408,371.2,404.8,368,400,368z"/></g></svg>
            <strong class="ml-3">File Details Parser</strong>
          </a>
        </div>
      </div>
    </header>

    <main role="main">

      <div class="container">

        <?php if ($error) {
                  echo
'<div class="alert alert-danger mt-2" role="alert">
                      '
.$errormessage.'
                    </div>'
;
              }
       
?>
<?php if (!$error) { ?>
<h2 class="mt-2">File Data</h2>
      <table class="table mt-3">
        <thead class="thead-dark">
          <tr>
            <th scope="col">key</th>
            <th scope="col">data</th>
          </tr>
        </thead>
        <tbody>
          <?php foreach ($data as $key => $filedata) {
            if(
is_array($filedata)){
              echo
'<tr>
                <td>'
.$key.'</td>
                <td><table class="table">
                  <thead class="thead-dark">
                    <tr>
                      <th scope="col">key</th>
                      <th scope="col">data</th>
                    </tr>
                  </thead>
                  <tbody>'
;
                    foreach (
$filedata as $pathdata => $pathinfo) {
                      echo
'<tr>
                        <td>'
.$pathdata.'</td>
                        <td>'
.$pathinfo.'</td>
                      </tr>'
;
                    }
                echo
'</tbody>
                  </table>'
;
            }else{
              echo
'<tr>
                <td>'
.$key.'</td>
                <td>'
.$filedata.'</td>
              </tr>'
;
            }
          }
         
?>
</tbody>
      </table>
    <?php } ?>
<hr/>
    <h3>methods</h3>
    <div class="row mt-4">
        <div class="col-md-4">
          <div class="card" style="width: 18rem;">
            <div class="card-header">
              getbykeyname
            </div>
            <ul class="list-group list-group-flush">
              <li class="list-group-item">($keyname, $type='array')</li>
              <li class="list-group-item">return string/array/object/bool</li>
              <li class="list-group-item">get file details by key name</li>
            </ul>
          </div>
        </div>
        <div class="col-md-4">
          <div class="card" style="width: 18rem;">
            <div class="card-header">
              getdatalist
            </div>
            <ul class="list-group list-group-flush">
              <li class="list-group-item">($keylist, $type='array')</li>
              <li class="list-group-item">return array/object</li>
              <li class="list-group-item">only get $keylist keys from file details</li>
            </ul>
          </div>
        </div>
        <div class="col-md-4">
          <div class="card" style="width: 18rem;">
            <div class="card-header">
              getdata
            </div>
            <ul class="list-group list-group-flush">
              <li class="list-group-item">($type='array')</li>
              <li class="list-group-item">return array/object</li>
              <li class="list-group-item">get file data details as array or objectget file data details as array or object</li>
            </ul>
          </div>
        </div>
      </div>
      <h3>available file details</h3>
      <ul class="list-group mb-3">
        <li class="list-group-item">companyname</li>
        <li class="list-group-item">filedescription</li>
        <li class="list-group-item">fileversion</li>
        <li class="list-group-item">internalname</li>
        <li class="list-group-item">legalcopyright</li>
        <li class="list-group-item">originalfilename</li>
        <li class="list-group-item">productname</li>
        <li class="list-group-item">productversion</li>
        <li class="list-group-item">companyshortName</li>
        <li class="list-group-item">productshortName</li>
        <li class="list-group-item">lastchange</li>
        <li class="list-group-item">legaltrademarks</li>
        <li class="list-group-item">buildid</li>
        <li class="list-group-item">updatesystemversion</li>
        <li class="list-group-item">source control id</li>
        <li class="list-group-item">filesize</li>
        <li class="list-group-item">pathinfo</li>
      </ul>
      </div>

    </main>


    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  </body>
</html>