I have a array that I am writing to a file using var_export(). I reload the array every time the script starts. However, whenever I try to reference a variable inside the array it returns ‘a’, I can do a print_r() and see the array just fine, I just can not access the variable I want. Here is the saved output:
array (
'timestamp' => '1283882964',
'files_submitted' => 2943,
'errors' => array (
'/WebFS/xx.doc' => array (
'STATUS' => 400,
),
'WebFS/xx.doc.doc' => array (
'STATUS' => 400,
),
)
)
Here is the code I use to save:
function add_log_entry($filename,$return_arr) {
//$timestamp = strval(mktime());
$return_arr['timestamp'] = mktime();
$return_str = var_export($return_arr,true);
return file_put_contents($filename, $return_str);
}
Here is the code I use to recall the array:
function get_log_entry($filename) {
$var_str = file_get_contents($filename);
eval("\$return_var = \$var_str;");
die($return_var['timestamp']);
return $return_var;
}
You can see I put the die() in the recall code and this is where the ‘a’ is coming from.
Thanks to whom ever responds.
Ben
use the php functions
serializeandunserialize, no need to write your own hacks usingvar_exportandeval(apart from the security implications)example code:
Using
serialize/unserializemight impose a security risk. To serialize simple arrays/data structures it’s better to use thejson_encodefunction: