Исключить несколько ключей из массива glob PHP - PullRequest
0 голосов
/ 01 февраля 2020

Я новичок в php, и я пытаюсь создать меню c dinami (если я добавлю файл php в каталог для автоматического добавления в меню), моя проблема заключается в том, что я хочу исключить 3 страницы c, например app. php, mdx. php и script. php Это код, который я использую для запуска и запуска меню:

<?php
$dir = ".";
$htmlFiles = glob("$dir/*.{html,htm,php}", GLOB_BRACE);

// Sort in ascending order - this is default
echo '<ul>';
foreach($htmlFiles as $htmlFile)
{
  echo '<li><a href="'.basename($htmlFile).'">'.mb_strtoupper(basename($htmlFile,".php")).'</a></li>';

}
echo '</ul>';

?>

Как мне это сделать?

Ответы [ 3 ]

0 голосов
/ 01 февраля 2020

Может быть, что-то подобное?

<?php
$dir = ".";
$cutFiles = ['app.php', 'mdx.php','script.php']; //file You don't want 
$htmlFiles = glob("$dir/*.{html,htm,php}", GLOB_BRACE);

$htmlFiles = array_diff($html_Files, $cutFiles); //computed differences

// Sort in ascending order - this is default
echo '<ul>';
foreach($htmlFiles as $htmlFile)
{
  echo '<li><a href="'.basename($htmlFile).'">'.mb_strtoupper(basename($htmlFile,".php")).'</a></li>';

}
echo '</ul>';

?>
0 голосов
/ 01 февраля 2020

Ответ «Pinks Not Dead» был довольно близок, большое спасибо! Я пытался добиться того, чтобы сделать меню, расположенное в логическом порядке, чтобы я не мог использовать asort ..., что решило мою проблему, спасибо!

<?php
$dir = ".";
$cutFiles = ['./index.php','./Contact.php','./About.php']; //files You don't want
$htmlFiles = glob("$dir/*.{html,htm,php}", GLOB_BRACE);

$htmlFiles = array_diff($htmlFiles, $cutFiles); //computed differences

// Sort in ascending order - this is default
echo '<ul>';
echo '<li><a href="index.php">HOME</a></li>';
foreach($htmlFiles as $htmlFile)
{
  echo '<li><a href="'.basename($htmlFile).'">'.mb_strtoupper(basename($htmlFile,".php")).'</a></li>';

}
echo '<li><a href="About.php">ABOUT US</a></li>';
echo '<li><a href="Contact.php">CONTACT</a></li>';
echo '</ul>';

?>
0 голосов
/ 01 февраля 2020

Прежде всего, я бы поместил скрипты PHP, которые не видны или не очень важны, то есть основные скрипты PHP, в другую папку.

Я бы также поместил сценарии PHP, которые должны влиять на меню, в другую папку.

Например,

app/app.php
app/mdx.php
app/script.php
menu/menu1.php
menu/menu2.php
menu/menu3.php

$dir = "../menu/";
$htmlFiles = glob("$dir/*.{html,htm,php}", GLOB_BRACE);

Или посмотрите на этот ответ: { ссылка }

...