CBaZ Posted July 28, 2014 Share Posted July 28, 2014 Currently I am using a script that displays the entire directory. However I am trying to use preg_match to try and figure out how to just link to one file from the directory via a search string from a form. I am probably not even close so please bare with me <?php if (isset($_POST['filelook'])) { $filez = $_POST['filelook']; } /* edit $path to the directory you want to use edit $file_types to change the file types to show */ function file_type($file) { $searchString = $filez; $path_chunks = explode("/", $file); $thefile = $path_chunks[count($path_chunks) - 1]; $dotpos = strrpos($thefile, "."); return strtolower(substr($thefile, $dotpos + 1)); } $file_count = 0; $path = "./WinFiles/files"; $file_types = array('png', 'jpg'); $p = opendir($path); while (false !== ($filelook = readdir($p))) { $files[] = $filelook; } sort($files); echo "<b> Your file results:</b><br> "; if (file_exists($filez) && is_readable($filez) && preg_match($filez)) { echo '<a href="download.php?f='.$filez.'">'.$filez.'</a> <br/>'; //find filename like name searched for... if($file_count == 0) { echo "<b>No file match your file types</b>"; } } ?> Quote Link to comment https://forums.phpfreaks.com/topic/290142-locate-file-via-form-search-string/ Share on other sites More sharing options...
CBaZ Posted July 28, 2014 Author Share Posted July 28, 2014 I made it a bit more simple. But one of the things I am dealing with now is that it also echo's out the directory I just want it to echo out the filename. <?php if (isset($_POST['filelook'])) { $filez = $_POST['filelook']; $filename = "/WinFiles/files/$filez"; if (file_exists($filename)) { echo '<a href="download.php?f='.$filename.'">'.$filename.'</a> <br/>'; } else { echo "The file $filename does not exist"; } } ?> Quote Link to comment https://forums.phpfreaks.com/topic/290142-locate-file-via-form-search-string/#findComment-1486284 Share on other sites More sharing options...
CroNiX Posted July 28, 2014 Share Posted July 28, 2014 (edited) Something else must be going on somewhere else because the code in your last post wouldn't echo out a directory. Also, you are creating a HTML link with a query string, which means the variables in the query string would be retrieved from the $_GET superglobal, but you are trying to get it from the $_POST superglobal. You might also want to look into PHP's glob function, which would make this a bit easier. Edited July 28, 2014 by CroNiX Quote Link to comment https://forums.phpfreaks.com/topic/290142-locate-file-via-form-search-string/#findComment-1486285 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.