Ups ... verwechselt. var_dump() ist nicht dafür gemacht.
Ich habe noch var_export() im Angebot:
Schreiben:
file_put_contents($fileName,'<?php $var='.preg_replace('/\s+/',' ',var_export($var,true)).';');
Lesen:
include ($fileName); #set the var $var
Der kleine "Packer" (preg_replace('/\s+/',' ', ...)
macht natürlich nur Sinn, wenn in der Variablen(Hash, Array) keine (mehrfachen) Spaces (Blanks, Tabs, NewLines, cReturns) auftauchen.
Sonst einfach:
file_put_contents($fileName,'<?php $var='.var_export( $var , true ) . ';');
Test:
<?php
header('Content-Type:text/plain; charset=utf-8');
$var=array('Foo', 'Bar');
$fileName='filed_var.php';
file_put_contents($fileName,'<?php $varRead='.preg_replace('/\s+/',' ',var_export($var,true)).';');
unset($var);
include ($fileName); #set the var $varRead;
print_r($varRead);
Ausgaben:
php test.php
Array
(
[0] => Foo
[1] => Bar
)
geschriebene Datei:
<?php $varRead=array ( 0 => 'Foo', 1 => 'Bar', );