davehardyuk Posted March 9, 2006 Share Posted March 9, 2006 Hi Guys,I need the code to be able to search a folder and all folders within it, and then all folders within those sub-folders. The following code will search a folder and all subfolders in it, but i'm not sure how to get it to carry on searching within those subfolders and so on...[code]<?php$searchstring = $_REQUEST['searchstring'];if ($searchstring == ""){print "Please enter some text to search for!";return;}$dir=opendir("media");$files=array();while (($file=readdir($dir)) !== false){ if ($file != "." and $file != ".." and $file != "index.php" and $file != "fileupload-class.php" and $file != "icon.gif" and $file != "launch.gif" and $file != "download.php" and $file != "index.asp" and $file != "images" and $file != "login_check.asp" and $file != "main.php" and $file != "delete.gif" and $file != "images" and $file != "delete.php" and $file != "spacer.gif" and $file != "ianstanton" and $file != "play_all.m3u" and $file != "play_all_shuffle.m3u") { array_push($files, $file); }}closedir($dir);sort($files);foreach ($files as $file){$ext = explode('.', $file);$extension = $ext[count($ext)-1];if (($extension == "mp3")&&(eregi("$searchstring", $file))) {print "<table width='220' border='0'><tr><td align='left' valign'top'><a href='http://audiostation/playmedia.php?fileid=http://audiostation/media/$file&download=yes' target='player'><img src='images/music_icon.gif' alt='$file' border='0'></a><td></td><td width='205' style='font-family: Arial, Helvetica, sans-serif; font-size:10px;'><strong><a style='color:001F63;' class='body' href='playmedia.php?fileid=http://audiostation/playmedia.php?fileid=http://audiostation/media/$file&download=yes' target='player'>$file</a></strong></td></tr></table>"; }if ($extension != "mp3") {$dir=opendir("media/$file");$album=$file;$files=array();while (($file=readdir($dir)) !== false){ if ($file != "." and $file != ".." and $file != "index.php" and $file != "fileupload-class.php" and $file != "icon.gif" and $file != "launch.gif" and $file != "download.php" and $file != "index.asp" and $file != "images" and $file != "login_check.asp" and $file != "main.php" and $file != "delete.gif" and $file != "images" and $file != "delete.php" and $file != "spacer.gif" and $file != "ianstanton" and $file != "play_all.m3u" and $file != "play_all_shuffle.m3u") { array_push($files, $file); }}closedir($dir);sort($files);foreach ($files as $file){$get = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']; $cur_dir = dirname($get);$DirNow = dirname($get);$DirUp = dirname($DirNow);$ext = explode('.', $file);$extension = $ext[count($ext)-1];if (($extension == "mp3")&&(eregi("$searchstring", $file))) {print "<table width='220' border='0'><tr><td align='left' valign'top'><a href='http://audiostation/playmedia.php?fileid=media/$album/$file&download=yes' target='player'><img src='images/music_icon.gif' alt='$file' border='0'></a><td></td><td width='205' style='font-family: Arial, Helvetica, sans-serif; font-size:10px;'><strong><a style='color:001F63;' class='body' href='playmedia.php?fileid=media/$album/$file&download=yes' target='player'>$file</a></strong></td></tr></table>"; }}}}?>[/code]It basically checks the first folder for mp3 files that have the search text in it, if it finds a mp3 it displays it, if it finds a folder, it will then search that for mp3s and display them, but then i can't get it to search the next folders if it finds one!Any ideas?I'm sure it's quite easy but can't figure it out.Thanks alot,Dave Quote Link to comment https://forums.phpfreaks.com/topic/4516-search-subfolders/ 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.