48 lines
1.1 KiB
PHP
Executable File
48 lines
1.1 KiB
PHP
Executable File
#!/usr/bin/env php
|
|
<?php
|
|
|
|
include 'includes/fileReader.php';
|
|
include 'includes/io.php';
|
|
include 'includes/includeBuilder.php';
|
|
include 'includes/includeParser.php';
|
|
include 'includes/argvParser.php';
|
|
|
|
// php://stdout
|
|
$argvParser = new ArgvParser(
|
|
['d' => 'Delete outFile'],
|
|
['inFile' => 'Input file', 'outFile' => 'Output file']
|
|
);
|
|
$parsed = $argvParser->parseArgv($argv);
|
|
|
|
if ($parsed === false) {
|
|
line('Usage: ' . __FILE__ . ' ' . $argvParser->getOptionsHelp());
|
|
exit(1);
|
|
}
|
|
$inFile = $parsed['inFile'];
|
|
if (!file_exists($inFile)) {
|
|
line('File not found: ' . $inFile);
|
|
exit(1);
|
|
}
|
|
$outFile = $parsed['outFile'];
|
|
if (file_exists($outFile)) {
|
|
line('File already exists: ' . $outFile);
|
|
if ($parsed['d']) {
|
|
line('Deleting...');
|
|
unlink($outFile);
|
|
} else {
|
|
exit(1);
|
|
}
|
|
}
|
|
|
|
$includes = [];
|
|
buildIncludes($inFile, $includes);
|
|
var_dump($includes);
|
|
$lines = yieldIncludes($inFile, $includes);
|
|
|
|
$toFileHandle = fopen($outFile, 'w');
|
|
foreach ($lines as $line) {
|
|
fwrite($toFileHandle, $line);
|
|
}
|
|
chmod($outFile, fileperms($inFile));
|
|
fclose($toFileHandle);
|