gpt4 book ai didi

php - 告诉 lessphp 我必须检查一个文件夹而不仅仅是一个文件来刷新 output.css?

转载 作者:行者123 更新时间:2023-11-28 17:09:26 25 4
gpt4 key购买 nike

我将 lessphp 包含在这段代码中:

require_once(__DIR__.'/less/lessc.inc.php');
$less = new lessc;
$less->checkedCompile(__DIR__."/less/style.less", __DIR__."/css/style.css");

但是因为我在 style.less 中包含了一些其他的 less 文件,我必须在每次对任何导入的 less 文件进行任何更改后删除我看到更改的 output.css ...任何人都知道我如何告诉他必须检查整个文件夹“less”是否有任何更改的脚本?

请帮我简单解释一下..我的英语很差,我对 php 不了解,也许有一个代码示例

祝你有美好的一天!

最佳答案

来自documentation of lessphp .

There’s a problem though. checkedCompile is very basic, it only checks the input file’s modification time. It is unaware of any files from @import.

For this reason we also have cachedCompile. It’s slightly more complex, but gives us the ability to check changes to all files including those imported. It takes one argument, either the name of the file we want to compile, or an existing cache object. Its return value is an updated cache object.

看来 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']);
}

关于php - 告诉 lessphp 我必须检查一个文件夹而不仅仅是一个文件来刷新 output.css?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29570465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com