Esempio n. 1
0
     } else {
         echo "Usage: -e <phar_file> [extract_directory]\n";
     }
 } elseif (strtolower($argv[1]) == "-i") {
     //PharTools Info command
     if (isset($argv[2])) {
         //Get fixed filename
         if (strtolower(substr($argv[2], -5)) == ".phar" || strpos($argv[2], '.') !== false) {
             $file = $argv[2];
         } else {
             $file = $argv[2] . ".phar";
         }
         if (file_exists($file)) {
             try {
                 $phar = new Phar($file, 0);
                 if ($phar->hasMetadata()) {
                     $metadata = metadataToString($phar->getMetadata());
                 } else {
                     $metadata = "No metadata found\n";
                 }
                 echo "Size: " . round(filesize($file) * 0.0009765625 * 0.0009765625, 2) . " MB (" . round(filesize($file) * 0.0009765625, 3) . " KB)\n";
                 echo "Signature: " . $phar->getSignature()["hash"] . "\n";
                 echo "Signature type: " . $phar->getSignature()["hash_type"] . "\n";
                 echo "Writable: " . strbool($phar->isWritable()) . "\n";
                 echo "Readable: " . strbool($phar->isReadable()) . "\n";
                 echo "Metadata: " . $metadata;
                 echo "Show stub (y, n)? ";
                 $input = fopen("php://stdin", "r");
                 $line = fgets($input);
                 if (trim($line) == 'y') {
                     echo $phar->getStub();