20. 10. 2011
15. 10. 2011
Jak okopírovat adresář s celým obsahem v PHP
Složitých a ošklivých funkcí pro kopírování adresářů a podadresářů vč. jejich obsahu jsem viděl několik. Tahle celkem běžná úloha jde vyřešit i jednoduše pomocí PHP iterátoru:
$source = "/foo/bar/dir";
$dest= "/dest/dir";
foreach (
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($source, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST) as $item
) {
if ($item->isDir()) {
mkdir($dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
} else {
copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
}
}
Tweet 3. 10. 2011
Kompilovaní Less CSS pomocí Apache ANT
Less CSS patří mezi mé nové oblíbené „novoty“ – jedná se o nadstavbu CSS, která přináší do CSS funkce, konstanty nebo vnořené prvky. Less CSS je možné kompilovat on the fly pomocí javascriptu přímo v prohlížeči, ale mnohem lepší je soubory CSS připravit dopředu.
Pro automatické kompilování Less CSS souborů jsem využil Apache ANT a maven-less-pluginu. Target less.compile navíc kontroluje změnu souboru style.less. Kompilace se tak provede jen pokud se originální soubor less změnil:
<target name="checkLessChanges">
<uptodate property="lessChange" targetfile="www/css/style.css">
<srcfiles dir="www/css" includes="style.less"/>
</uptodate>
</target>
<target name="less.compile" depends="checkLessChanges" unless="lessChange">
<java jar="build/tools/less-utils.jar" fork="true" failonerror="true" maxmemory="128m">
<arg line=" www/css/" />
</java>
</target>
Pokud vám nevyhovuje java less kompilátor můžete využít například PHP Compiler.
Tweet2. 10. 2011
25. 9. 2011