note 50360 added to ref.filesystem

From: Date: Fri, 25 Feb 2005 16:27:53 +0000
Subject: note 50360 added to ref.filesystem
Groups: php.notes 
Request: Send a blank email to php-notes+get-85560@lists.php.net to get a copy of this message
I made this function to search and/or display files by extension or for a string occurance in the filename. Any comments or enhancements are welcome offcourse. I'll update this function soon. usage: list_files([string], [string], [int 1 | 0], [int 1 | 0]); search for extension: list_files([string], [string], [0], [int 1 | 0]); returns array: $myArray = list_files([string], [string], [0], [0]); echo result: list_files([string], [string], [0], [1]); search for string occurance: list_files([string], [string], [1], [int 1 | 0]); returns array: $myArray = list_files([string], [string], [1], [0]); echo result: list_files([string], [string], [1], [1]); <?php function list_files($directory, $stringSearch, $searchHandler, $outputHandler) { $errorHandler = false; $result = array(); if (! $directoryHandler = @opendir ($directory)) { echo ("<pre>\nerror: directory \"$directory\" doesn't exist!\n</pre>\n"); return $errorHandler = true; } if ($searchHandler === 0) { while (false !== ($fileName = @readdir ($directoryHandler))) { if(@substr ($fileName, - @strlen ($stringSearch)) === $stringSearch) { @array_push ($result, $fileName); } } } if ($searchHandler === 1) { while(false !== ($fileName = @readdir ($directoryHandler))) { if(@substr_count ($fileName, $stringSearch) > 0) { @array_push ($result, $fileName); } } } if (($errorHandler === true) && (@count ($result) === 0)) { echo ("<pre>\nerror: no filetype \"$fileExtension\" found!\n</pre>\n"); } else { sort ($result); if ($outputHandler === 0) { return $result; } if ($outputHandler === 1) { echo ("<pre>\n"); print_r ($result); echo ("</pre>\n"); } } } ?> ---- Manual Page -- http://www.php.net/manual/en/ref.filesystem.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+50360 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+50360&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+50360&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+50360&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+50360&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+50360&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+50360&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#85560) next »