Home Blog Portfolio Development Contact Us Recommends
Building One Application at a Time

Archive for August, 2009

A Really Handy “FIND” Search Function

Monday, August 31st, 2009

I really needed to get a list of files, recursively, from a rather large directory intensive web site sorted by the last modified date and I did not want to go through each directory searching for them by hand.  The idea was to get the last modified file in hope that I would find a file that contained a critical update for another web site with the same program.  After a couple hours of searching for and understanding the syntax involved, here is the Linux command that did the job.

find ./ -name “*.php” -type f -printf “%TY-%Tm-%Td %TT %h/%f \n” | sort -rb | head -5

So what we are doing is trying to find a file with a .php extension searching from the current directory we are in, recursively.  We are telling the command that it is a file type and sorting it in reverse order to show 5 in the list of files returned.  We would like to get the results in a formatted way, so we are displaying the date first then the file name.  Example output:

2009-08-31 15:14:38 ./admin/functions/email.php
2009-06-07 13:08:20 ./admin/config.php
2009-03-07 09:28:03 ./admin/inc.php

That’s it. Hope someone finds this useful!

SimpleXML Element and Session Variables

Monday, August 3rd, 2009

As you may have guessed, I am writing this because there is an issue with using SimpleXML and Session variables in conjunction with each other.  Sessions apparently do not know how to handle object resource values that the SimpleXML engine generates.  If you attempt to assign a Session variable to a SimpleXML object value you will get an error similar to this:

Warning: session_start() [function.session-start]: Node no longer exists

Here is an example of assigning the Session variable the “wrong way” (from Authorize.net CIM API):

$_SESSION['profileid'] = $this->results->customerProfileId;

And here is the correct way to assign the Session variable:

$_SESSION['profileid'] = (int)$this->results->customerProfileId;

If the expected data type of the object value is to be a string use (string)

That’s about it for now . . .