newguycanada Posted August 30, 2007 Share Posted August 30, 2007 Hi I'm really new to PHP and I've got an include on a page I'm working on. <?php $links = array('home.htm', 'upcomingevents.htm', 'pastevents.php', 'outdoors.php', 'community.php', 'heritage.php', 'projects.php', 'contact.php', 'team.php', 'lochmore.php', 'one.php', 'register.php', 'formsubmitted.php', 'homesites.php'); // define the array - links if (isset($_GET['p'])) { if(in_array($p,$links)) { include($p); } else { echo '<div class="headline"> 404 - Page Not Found</div>'; exit(); }; } else { include('home.htm'); }; ?> If possible, I want to remove the $links array from the code and replace it with something so that only files from the root directory can be included. I don't want to have to add to the array every time I add a page, I want to be able to just put it in the directory on my server. Quote Link to comment https://forums.phpfreaks.com/topic/67363-include-question/ Share on other sites More sharing options...
hitman6003 Posted August 30, 2007 Share Posted August 30, 2007 Use the dir functionality to read the file names into an array: <?php $d = dir("."); while (false !== ($file= $d->read())) { if (substr($file, -4, 4) == ".htm" || substr($file, -4, 4) == ".php") { $links[] = $file; } } $d->close(); ?> Quote Link to comment https://forums.phpfreaks.com/topic/67363-include-question/#findComment-337963 Share on other sites More sharing options...
GingerRobot Posted August 30, 2007 Share Posted August 30, 2007 You could also use the glob() function $links = glob('*.*'); Quote Link to comment https://forums.phpfreaks.com/topic/67363-include-question/#findComment-337965 Share on other sites More sharing options...
newguycanada Posted August 30, 2007 Author Share Posted August 30, 2007 Wow that worked well. As I said I'm new at this and still trying to figure it out. Quote Link to comment https://forums.phpfreaks.com/topic/67363-include-question/#findComment-337966 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.