Solved

Listing Files in a Directory

Posted on 2007-04-11
6
191 Views
Last Modified: 2008-02-01
I'm trying to set up part of my website so it's easier to share files. To be frank I have no clue where to search.
There are a few things I would like it to do if any one can help:
- List files in the directory so that I don't need to update the page (auto list )
- Not have the exact location but have them as lets say" file.php?filename=test.rar" (stops leaching)

Formatting would be the easy part (i think) because that could be done in a loop if I'm correct

Please if anyone could give be a shove or a kick in the right direction I would be great full.
0
Comment
Question by:peterallsop
  • 3
  • 2
6 Comments
 
LVL 7

Expert Comment

by:Zack Soderquist
Comment Utility
You may want to look at some of the built in PHP Directory Functions

scandir might be a good one http://us.php.net/manual/en/function.scandir.php

Here's a link to all the directory functions http://us.php.net/manual/en/ref.dir.php
0
 
LVL 8

Accepted Solution

by:
netmunky earned 500 total points
Comment Utility
http://www.php.net/dir
has documentation on most of the functions you need to get the list

for getting the file, you'll need
http://www.php.net/manual/en/function.finfo-file.php
http://www.php.net/manual/en/function.readfile.php

you'll needs some security checks in this (so you don't serve /etc/passwd), but the gist of it is something like:
<?php
$finfo = finfo_open();
header( "Content-type: ".finfo_file( $finfo, $_GET['filename'] ) );
readfile( $_GET['filename'] );
?>
0
 
LVL 8

Expert Comment

by:netmunky
Comment Utility
if you don't have access to install the PECL finfo extension, check out the depricated http://www.php.net/manual/en/function.mime-content-type.php
0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
LVL 7

Expert Comment

by:Zack Soderquist
Comment Utility
scandir only works with PHP5

Here is a PHP4 alternative

$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}
sort($files);
print_r($files);
0
 
LVL 7

Expert Comment

by:Zack Soderquist
Comment Utility
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

foreach($files as $value) {
    echo "file.php?filename=".$value."<br />";
}
0
 

Author Comment

by:peterallsop
Comment Utility
I'm using PHP 5 just to let you know. Thanks for all the info.
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
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…

744 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now