Solved

Get server default index files with PHP

Posted on 2009-07-13
6
222 Views
Last Modified: 2013-12-13
On a server it is possible to set default index files, for instance: index.html, default.asp, index.php, etc, etc...

Is there any way to get this list of default files using PHP? Like is there some server variable I can call to get this information.

Hopefully I've explained enough, if not let me know.
0
Comment
Question by:Hube02
  • 3
  • 2
6 Comments
 
LVL 9

Expert Comment

by:pmessana
ID: 24844923
Are you saying that if you hit URL http://www.asdfasdf.com/ you want to set the default file rendered?  If so, if you are running Apache you can set this in the httpd.conf file.

It is set with the DirectoryIndex.

eg: DirectoryIndex home.php index.php index.htm index.html

If this is not what you are talking about let me know.
0
 
LVL 39

Accepted Solution

by:
Roger Baklund earned 500 total points
ID: 24844969
If you have read access to the httpd.conf file, it could be done with something like this:
$conf = 'C:\Program files\Apache Software Foundation\Apache2.2\conf\httpd.conf';
foreach(file($conf) as $line)
  if(substr(trim($line),0,14)=='DirectoryIndex')
    $defaultfiles = array_filter(explode(' ',substr(trim($line),15)));
var_dump($defaultfiles);

Open in new window

0
 
LVL 18

Author Comment

by:Hube02
ID: 24845163
@crx: This is exactly what I'm looking for, sorta... Seems I should have been more specific about my needs. What I'm looking for may not even be possible.

To explain further:

The problem is that this may be an Apache server or IIS and that there is no way for me to know beforehand where the configuration file for the server is. As an example, the path you provided is likely valid for your setup, but on my local machine the file is located at c:\WebServer\Apache2\conf\httpd.conf

And in all likelihood, depending on the environment, the configuration file itself may not be readable by PHP. I would guess that for security measures on a shared hosting environment that the host would make these files inaccessible, at least I would if I were the admin.

I was hoping for a cross platform variable or something that might store this information.
0
Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

 
LVL 39

Expert Comment

by:Roger Baklund
ID: 24845203
>> I was hoping for a cross platform variable or something that might store this information.

Nothing that I am aware of, sorry.
0
 
LVL 18

Author Comment

by:Hube02
ID: 24845332
Not a problem, but you did give me something to think about.

The reason that I ask is that I am working on a user/permissions module for PHP. The system will allow the admin to choose files and folders that require a login and what level of permissions are required to access the folder or file. As this is built in PHP it can only control access to php files. I was looking for some way to detect if some php file, or what the default files and order of those files are. Then I could look into each of the folders on the server and make sure that it would be a php file that is loaded by default for the given folder. This would allow me to display a warning if it is not and direct them to change the default index file on their server (or contact the host to have them do it)

I'm exploring the possibilities.
0
 
LVL 18

Author Comment

by:Hube02
ID: 24855199
I have accepted the answer given by crx because, while it may not help me, it does answer the original question and the solution may be of some help to someone else.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

These days socially coordinated efforts have turned into a critical requirement for enterprises.
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question