重定向输出执行 minified.js 文件
file_put_contents("minified.js", $packer->pack());
这会将输出重定向到minified.js文件。如果我更改了代码中的任何内容,则不会在minified.js中更新输出。我必须始终删除内容,然后再次运行。
如何动态执行此操作,并使minified.js中的内容始终自动替换?
答案 0 :(得分:0)
检查原始版本所在文件的最后修改时间。
$original_file = $_SERVER["DOCUMENT_ROOT"].'/main.js';
$last_modified = date("Y-m-d H:i:s", filemtime($original_file));
file_put_contents($last_modified, $_SERVER["DOCUMENT_ROOT"].'/date.txt');
$last_modified_read = file_get_contents($_SERVER["DOCUMENT_ROOT"].'/date.txt');
if(strtotime($last_modified_read) < strtotime($last_modified)){
echo "Minify!";
file_put_contents($_SERVER["DOCUMENT_ROOT"].'/date.txt', $last_modified);
}
答案 1 :(得分:0)
这是由于标头功能而发生的。 您在minified.php中的代码是...
代码
<?php
// Načteme config
require_once("../functions/config.php");
// Načteme adresáře
$Directories = JS_Directories();
// Načteme soubory z adresářů
$Buffer = "";
foreach ($Directories as $Directory) {
foreach(glob($Directory . "*.js") as $File) {
$Buffer .= file_get_contents($File);
}
};
// Načteme minifikátor
require_once("minifier.php");
// Spustíme minifikátor
$packer = new Tholu\Packer\Packer($Buffer, 'Normal', true, false, true);
// Nastavíme MIME typ
$presentFile = file_get_contents("minified.js"); //Get Old data then merge with new.
file_put_contents("minified.js", $presentFile.$packer->pack()); //Moved above header then merge.
header("Content-type: text/javascript");
// Výstup
echo $packer->pack();
?>
只需将file_put_contents("minified.js", $packer->pack());
移到标题上方,即可使用。