- glob: documentation ( source)
- filesize: documentation ( source)
<?php
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns:php="http://php.net/xsl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0">
<body style="font-family:Arial;font-size:12pt;background-color:#EEEEEE">
<xsl:for-each select="beers/beer">
<div style="background-color:teal;color:white;padding:4px">
<span style="font-weight:bold">
<xsl:value-of select="name"/>
</span>
<xsl:value-of select="price"/>
</div>
<div style="margin-left:20px;margin-bottom:1em;font-size:10pt">
<p>
<xsl:value-of select="php:functionString('glob', '*.*')"/>
<span style="font-style:italic">
(
<xsl:value-of select="prct"/>
%)
</span>
</p>
</div>
</xsl:for-each>
</body>
</html>
EOB;
$xmldoc = DOMDocument::loadXML("http://challenge01.root-me.org/web-serveur/ch50/beers.xml");
$xsldoc = DOMDocument::loadXML($xsl);
$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
foreach (glob("*") as $filename) {
echo "$filename occupe " . filesize($filename) . "\n";
}
?>