Tuesday, March 20, 2012

Create an associative array in PHP

Some of you may dislike the distraction of a full set of working code with core lesson of associative arrays buried in it. Their are plenty of minimalist examples on the web, and when I wanted an example they were too minimalist. Core code for reference is in this color scheme.

deviceNickNames.txt
10.AF2551010800|no nickname
22.20F21A000000|no nickname
22.650E1B000000|no nickname
29.A29F09000000|no nickname
$deviceNickNamesTxt = "deviceNickNames.txt";
 if (file_exists($deviceNickNamesTxt)) {  
     $lines=explode("\n", file_get_contents($deviceNickNamesTxt)); 
       foreach($lines as $line) { 
                                 $items=explode("|",$line);
                          if(isset($items[1])) { $devicesB[$items[0]]= $items[1]; } 
                    }
                                     }

print "\n<form name=\"setupForm\" action=\"\" method=\"GET\">\n<table>\n<tr><th>Device Hardcoded Name</th><th>Human Friendly Name</th></tr>\n";
foreach($devicesB as $name => $value) {
print "\n<tr>";
print "\n<td valign=\"center\" align=\"center\">".$name."</td>";
print "\n<td valign=\"center\" align=\"center\">\n";
inputText($name."_NAME", $value, "");
submit("");
print "</td>\n</tr>\n";
    }
print "\n</table>\n</form>\n"
Device Hardcoded NameHuman Friendly Name
10.AF2551010800
22.20F21A000000
22.650E1B000000
29.A29F09000000

Friday, March 9, 2012

Boiler plate ajax.php file

Hello, I am /ajax.php
To make me work properly please send GET or POST data
I am designed to not need editing, all the things you want to add to my functionality
should be written in a file called /home/cyr/public_html/inc/ajax.txt
Also, I am intelligent enough to see there is no /home/cyr/public_html/inc/ajax.txt
I leave it up to you to create that.
Below is /home/cyr/public_html/ajax.php source code
===============================
<?php
if(isset($_GET['test'])) { error_reporting(E_ALL);ini_set('display_errors', '1'); }
if(isset($_POST['test'])) { error_reporting(E_ALL);ini_set('display_errors', '1'); }
header("Content-Type: text/plain");
$page=getenv("SCRIPT_NAME"); 
$query=getenv("QUERY_STRING");
$referer=getenv("HTTP_REFERER"); 
$ip=getenv("REMOTE_ADDR");
$docRoot=getenv('DOCUMENT_ROOT');
if(isset($_GET['test'])) { foreach($_GET as $name => $value) { print "\n".$name." : ".$value; } die();}
if(isset($_POST['test'])) { foreach($_POST as $name => $value) { print "\n".$name." : ".$value; } die();}
$includesDir="inc";
$includesDir=getcwd()."/".$includesDir;
$file=$includesDir."/".basename($page,"php")."txt";
if((count($_GET) < 1) && (count($_POST) < 1)) {
 print "Hello, I am ".$page."\n";
 print "To make me work properly please send GET or POST data\n";
 print "I am designed to not need editing, all the things you want to add to my functionality\n";
 print "should be written in a file called ".$file."\n";
  if(!is_dir($includesDir)) { print "Also, I see there is no ".$includesDir."\nPlease create this directory and place a file named '".basename($page,"php")."txt' in it";}   
  elseif(!is_file($file)) { print "Also, I am intelligent enough to see there is no ".$file."\nI leave it up to you to create that.\n"; }
  
  print "Below is ".$_SERVER['SCRIPT_FILENAME']." source code\n===============================\n";
  print file_get_contents($_SERVER['SCRIPT_FILENAME']);
  print "\n";
 if (is_file($file)) {
 print "Below is ".$file." source code\n===============================\n";
  print file_get_contents($file);
 } 
 die();
                                               }  
is_file($file) ?  include($file) : print $file." does not exist"; 
die();
?>