PHP - Help With Recursivedirectoryiterator Desired
I found this topic, and followed salathe's posted code (since this is exactly what I need to do).
When I just copy/paste his code, it works fine, but when I try to incorporate this into a class, I get the error: "RecursiveDirectoryIterator::__construct(test(a).php) [function.RecursiveDirectoryIterator---construct]: failed to open dir: Not a directory" Now obviously I get what the message means, but I don't understand why I'm getting it, and more specifically why I'm getting it only in the class; as far as I can tell, I simulated the function correctly. Here's my latest code: Code: [Select] class DirectoryTraverser { private $iterator; public function traverseRecursive($path) { $this->iterator = new RecursiveDirectoryIterator($path); $list = array(); foreach($this->iterator as $file) { $current = array( 'label' => $file->getFilename(), ); if ($file->isDir()) { $current['children'] = $this->traverseRecursive($this->iterator->getChildren()); } $list[] = $current; } if (empty($list)) return false; return $list; } } Called using: Code: [Select] try { $mgr = new DirectoryTraverser; if (($files = $mgr->traverseRecursive('../')) === false) { echo "<p>Error running recursive Traverser</p>"; } else { echo "<p>Recursive Traversal:<br /><pre>"; print_r($files); echo "</pre></p>"; } } catch (Exception $e) { echo $e->getMessage(); } Thanks for reading guys (and gals)! Similar TutorialsHello, I currently have a .txt file with numbers, and I want PHP to display the number closest to 1000. What method would I use to go about doing this? Thanks Hello, I have a search engine on my website that uses the following code: Code: [Select] //SQL FOR *SEARCH.PHP $table = "videos"; $search = $_GET['q']; // explode search words into an array $arraySearch = explode(" ", $_GET['q']); // table fields to search $arrayFields = array(0 => "title", 1 => "titletext", 2 => "tags", 3 => "originaltitle", 4 => "url"); $countSearch = count($arraySearch); $a = 0; $b = 0; $sql = "SELECT * FROM ".$table." WHERE status ='1' AND ("; $countFields = count($arrayFields); while ($a < $countFields) { while ($b < $countSearch) { $sql = $sql."$arrayFields[$a] LIKE '%$arraySearch[$b]%'"; $b++; if ($b < $countSearch) { $sql = $sql." AND "; } } $b = 0; $a++; if ($a < $countFields) { $sql = $sql.") OR ("; } } $sql = $sql.") ORDER BY (videos.up-videos.down) DESC LIMIT $start, $limit"; $result = mysql_query($sql); My problem is that the SQL Query includes even videos that have STATUS='0' .. I only want the STATUS='1' to be shown.. How come? Thanks for help Hello, All the names in database are uppercase. Would like to run string formating functions before displaying them. Code: [Select] $name = ucfirst(strtolower($results[$i]['name'])); It turns everything nicely into lowercase but doesn't capitalize the first letter. Why could that be? Best regards, laanes I've been researching online resources and seen a lot of code and functions for calculating an interval or difference between two date/time figures. What I'm trying to do is somewhat in reverse... I want to establish an interval to determine a past date/time to be used in a MySQL Query but just can't figure the critical part.
// STEP #1 = DEFINE THE DESIRED DATE/TIME DIFFERENCE INTERVAL DESIRED FOR QUERIES $timeinterval = '60'; // Interval is in MINUTES and can be changed as desired // STEP #2 = GET THE CURRENT LOCAL SERVER DATE/TIME // as YYYY-MM-DD HH:MN:SE $serverdatetime = date('Y-m-d H:i:s'); // My local Server Date & time // STEP #3 = CALCULATE THE ***PAST** (OLDER) DATE/TIME LIMIT BASED ON $timeinterval (Minutes) // as YYY-MM-DD HH:MN:SE $pastdatetime = [stuckinarut here] <- 60 MINUTES prior to current Server Date/Time // STEP #4 = MySQL QUERY (`submitted` column is auto-timestampped on record insertions) $sql="[columnsblahblah] FROM mydb WHERE `submitted` >= $pastdatetime";In a Perfect World, the MySQL Query would yield ONLY records with a `submitted` DATE/TIME equal to 60 Minutes (or less) PRIOR TO from the Current Server Time. Any assistance is appreciated! Thanks. -FreakingOUT Hello, I tried to implement some PHP code to enable a web page to show "Dinner" specials versus "Lunch" specials based on the time. The business is located in the Eastern Time Zone, so I only need to routine to work based on Eastern Time (New York). What I am noticing is that the server is processing the lines of code so fast that the command to establish the correct time for the remaining code is not always being acknowledged. This line of code appears to be processing too fast for the remaining lines of code: date_default_timezone_set ( "America/New_York" ); Is there some additional code I can put in place to make sure the correct time is always ascertained? I need the $hourmin variable to always return a combination of hour + minute based on 24-hour time and Eastern Time zone. My code is as follows: <?php $name8 = file_get_contents("test/special8name.txt"); date_default_timezone_set ( "America/New_York" ); $gethour = date("H"); $getminutes = $gettimedate["minutes"]; $gettimedate = date(); $hourmin = $gethour . $getminutes; $currentday = date("l", time()); $currentdate = date("M j, Y"); if ($hourmin < 1500 && $currentday <> "Saturday" && $currentday <> "Sunday") { echo "<span class=\"namesred\">$name8 </span>"; } else if ( $hourmin > 1500 && $hourmin < 2300 && $currentday <> "Saturday" && $currentday <> "Sunday") { echo "<span class=\"namesblue\">$name8 </span>"; } else if ( $currentday == "Saturday" or $currentday == "Sunday") { echo "<span class=\"namesblue\">$name8 </span>"; } ?> |