Php 告诉Lesshp我必须检查一个文件夹而不是一个文件来刷新output.css?

Php 告诉Lesshp我必须检查一个文件夹而不是一个文件来刷新output.css?,php,html,css,joomla,less,Php,Html,Css,Joomla,Less,我将LESSPH包括在本代码中: require_once(__DIR__.'/less/lessc.inc.php'); $less = new lessc; $less->checkedCompile(__DIR__."/less/style.less", __DIR__."/css/style.css"); 但是,因为我在style.less中包含了som其他less文件,所以每次对任何导入的less文件进行任何更改后,我都必须删除output.css,以便看到更改。。。有人知道我

我将LESSPH包括在本代码中:

require_once(__DIR__.'/less/lessc.inc.php');
$less = new lessc;
$less->checkedCompile(__DIR__."/less/style.less", __DIR__."/css/style.css");
但是,因为我在style.less中包含了som其他less文件,所以每次对任何导入的less文件进行任何更改后,我都必须删除output.css,以便看到更改。。。有人知道我如何告诉脚本他必须检查整个文件夹“less”是否有任何更改吗

请给我解释一下。。我的英语很差,我对php一无所知,也许有一个代码示例

祝你今天愉快

不过有个问题。checkedCompile是非常基本的,它只检查输入文件的修改时间。它不知道来自@import的任何文件

出于这个原因,我们也有cachedCompile。它稍微复杂一些,但使我们能够检查所有文件的更改,包括导入的文件。它需要一个参数,要么是我们要编译的文件名,要么是现有的缓存对象。其返回值是更新的缓存对象

因此,
cachedCompile
似乎是适合您的方法

这是您案例的代码:


兄弟。。。这是我得到的最令人敬畏的支持!非常感谢你这篇非常有用的帖子!
require_once(__DIR__ . '/less/lessc.inc.php');

$inputFile  = __DIR__ . "/less/style.less";
$outputFile = __DIR__ . "/css/style.css";
$cacheFile  = $inputFile . ".cache";

if (file_exists($cacheFile)) {
    $cache = unserialize(file_get_contents($cacheFile));
} else {
    $cache = $inputFile;
}

$less = new lessc;
$newCache = $less->cachedCompile($cache);

if (!is_array($cache) || $newCache["updated"] > $cache["updated"]) {
    file_put_contents($cacheFile, serialize($newCache));
    file_put_contents($outputFile, $newCache['compiled']);
}