tmallen Posted January 14, 2008 Share Posted January 14, 2008 I'd like a script that will list all files in the present working directory (pwd) as links. How can this be done? I don't know much about using PHP to read local files. Is there something like the "ls" command to do this with PHP? Quote Link to comment Share on other sites More sharing options...
cooldude832 Posted January 14, 2008 Share Posted January 14, 2008 look into glob <?php $path = ""; $data = glob($path."/*"); print_r($data); ?> Quote Link to comment Share on other sites More sharing options...
tmallen Posted January 14, 2008 Author Share Posted January 14, 2008 OK, cool, that works. I browsed the docs for glob(), but I can't figure out how to grab the name of the current directory. How can I track this down? Quote Link to comment Share on other sites More sharing options...
tibberous Posted January 14, 2008 Share Posted January 14, 2008 glob, thats a new one. cool. Quote Link to comment Share on other sites More sharing options...
tmallen Posted January 14, 2008 Author Share Posted January 14, 2008 I've noticed that glob() doesn't return my hidden files. However, the following method does. Is there an option to return hidden files with glob()? if ($handle = opendir('./')) { while (false !== ($file = readdir($handle))) { echo "<li><a href=\"$file\">$file</a></li>"; } } Quote Link to comment Share on other sites More sharing options...
cooldude832 Posted January 14, 2008 Share Posted January 14, 2008 most likely because glob is matching files that names are viewable vs your system of retriving all files in a folder. Quote Link to comment Share on other sites More sharing options...
tmallen Posted January 14, 2008 Author Share Posted January 14, 2008 Which is better? I think that this is certainly more readable: <?php echo "<ul>\n"; foreach ($file_list as $file) { echo " <li><a href=\"$file\">$file</a></li>\n"; } echo "</ul>\n"; ?> Quote Link to comment Share on other sites More sharing options...
tmallen Posted January 14, 2008 Author Share Posted January 14, 2008 Hold on, left out the most important part: <?php $file_list = glob("*"); echo "<ul>\n"; foreach ($file_list as $file) { echo " <li><a href=\"$file\">$file</a></li>\n"; } echo "</ul>\n"; ?> Quote Link to comment 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.