Есть несколько похожих вопросов, но ни один из них не помог мне. Все остальные вопросы касались номера версий, но мне нужно было что-то, что только увеличило бы номер сборки.Как автоматически увеличить номер сборки в PHP
мне нужен скрипт, который будет проверять, есть ли какие-либо файлы, измененные/создавать/удалять и увеличивать номер сборки на 1.
Я не смог найти ответ на этот вопрос в Интернете и подготовили сценарий сам. Я задаю этот вопрос, поэтому я могу поделиться своим сценарием в качестве ответа.
Вот сценарий, который я придумал. Вы можете улучшить его дальше и изменить свой ответ или опубликовать свой ответ:
// Opening the json file that holds the file paths and file modification dates
$jsonArray = json_decode(file_get_contents('files.json'), true);
$jsonFileArray = array();
// Putting the values into a local array
foreach ($jsonArray as $filePath => $modifiedDate) {
$jsonFileArray[$filePath] = $modifiedDate;
}
// Iterating through the directories and putting the file paths and modification dates into a local array
$filesArray = array();
$dir_iterator = new RecursiveDirectoryIterator(".");
$recursive_iterator = new RecursiveIteratorIterator($dir_iterator);
foreach ($recursive_iterator as $file) {
if ($file->isDir()) {
continue;
}
if (substr($file, -9) != 'error_log') {
$fileName = $file->getPathname();
$fileModifiedDate = date('m/d/y H:i:s', $file->getMTime());
$filesArray[$fileName] = $fileModifiedDate;
}
}
// Checking if there are any files that are modified/created/deleted
if ($jsonFileArray != $filesArray) {
// If there are any changes, the build number is increased by 1 and saved into 'build' file
$buildFile = "build";
file_put_contents($buildFile, file_get_contents($buildFile) + 1);
}
// Updating the json file with the latest modifiedDates
$jsonFile = fopen('files.json', 'w');
fwrite($jsonFile, json_encode($filesArray, JSON_UNESCAPED_SLASHES));
fclose($jsonFile);
Ничего себе, это быстрый downvote (в течение 2 секунд). Я не думаю, что вы даже можете прочитать этот вопрос за 2 секунды. –
Я считаю, что вас проголосовали за то, что ваш вопрос не показывает никаких усилий и ужасно широк. У вас есть пара близких голосов, оба из которых указывают, что ваш вопрос слишком широк. –
Downvoting в порядке, я не против этого. Но downvoting, даже не читая этот вопрос, нелепо. Вместо этого он должен был добавить комментарий, поэтому я могу улучшить вопрос. Я добавил свой код в вопрос и попытался прояснить его дальше в тексте. Я пытаюсь сделать этот вопрос качественным, но downvotes не очень помогают. Пожалуйста, добавьте комментарий или отредактируйте вопрос самостоятельно, если вы хотите его улучшить. –