Example that implements inclued into an
application
Example that implements inclued into an
application
Example that implements inclued into an
application
This example demonstrates the process of
implementing inclued into an existing application, and viewing the
results.
Example #1 Getting the data within the PHP application
itself (function)
<?php
// File to store the inclued information
$fp = fopen('/tmp/wp.ser', 'w');
if ($fp) {
$clue = inclued_get_data();
if ($clue) {
fwrite($fp, serialize($clue));
}
fclose($fp);
}
?>
Now that some data exists, it’s time to make sense
of it in the form of a graph. The inclued extension includes a PHP
file named gengraph.php that creates a
dot file that requires the » graphviz library. However,
this form is not required.
Example #2 Example use of gengraph.php
This example creates an image named inclued.png that shows the
inclued data.
# First, create the dot file $ php gengraph.php -i /tmp/wp.ser -o wp.dot # Next, create the image $ dot -Tpng -o inclued.png wp.dot
Example #3 Listing data via inclued dumps
(configuration)
When using the inclued.dumpdir directive, files (include clues) are
dumped with every request. Here’s one way to list those files, and
unserialize() them.
<?php
$path = ini_get('inclued.dumpdir');
if ($path && is_dir($path)) {
echo
"Path: $path", PHP_EOL;
$inclues = new GlobIterator($path . DIRECTORY_SEPARATOR . 'inclued*');
if (
$inclues->count() === 0) {
echo 'No clues today', PHP_EOL;
exit;
}
foreach (
$inclues as $inclue) {
echo
'Inclued file: ', $inclue->getFilename(), PHP_EOL;
$data = file_get_contents($inclue->getPathname());
if ($data) {
$inc = unserialize($data);
echo ' -- filename: ', $inc['request']['SCRIPT_FILENAME'], PHP_EOL;
echo ' -- number of includes: ', count($inc['includes']), PHP_EOL;
}
echo PHP_EOL;
}
} else {
echo 'I am totally clueless today.', PHP_EOL;
}
?>
The above example will output something similar to:
PATH: /tmp/inclued Inclued file: inclued.56521.1 -- filename: /Users/philip/test.php -- number of includes: 1 Inclued file: inclued.56563.1 -- filename: /tmp/none.php -- number of includes: 0 Inclued file: inclued.56636.1 -- filename: /tmp/three.php -- number of includes: 3