程序员人生 网站导航

把php代码保存到php文件实现方法

栏目:php教程时间:2013-11-10 07:35:29

很多时间我们需要把php生成的php代码保存到php文件里面,像如果利用到缓存时一些基础数据就直接保存到了一个指定的php缓存文件了,下面我们来看看实例。

  1. <?php  
  2. function cacheArr(&$data){  
  3. if(!$data)throw new Exception('数组不能为空');  
  4. foreach($GLOBALS as $key=>$value){  
  5. $str=$GLOBALS[$key];  
  6. $GLOBALS[$key]='changed';  
  7. if(&$data=='changed'){  
  8. $strName=$key;  
  9. break;  
  10. }  
  11. $GLOBALS[$key]=$str;  
  12. }  
  13. ob_clean();  
  14. ob_start();  
  15. echo "<?phpn";  
  16. function echoArr($arr,$arrName){  
  17. $arrCount=count($arr);$i==0;  
  18. foreach($arr as $key=>$value){  
  19. ++$i;  
  20. if(is_array($value)){  
  21. echo "n".(is_numeric($key)?$key:'''.$key.''').'=>array(';  
  22. echoArr($value,$arrName.(is_numeric($key)?'['.$key.']':'[''.$key.'']'));  
  23. if($i!=$arrCount)echo '),';  
  24. else echo ')';  
  25. continue;  
  26. }  
  27. if($i!=$arrCount)echo ((is_numeric($key))?$key:'''.$key.''').'=>'.(is_numeric($value)?$value:'''.$value.''').',';  
  28. else echo ((is_numeric($key))?$key:'''.$key.''').'=>'.(is_numeric($value)?$value:'''.$value.''');  
  29. }  
  30. }  
  31. echo '$'.$strName.'=array(';  
  32. echoArr($data,'');  
  33. echo ');';  
  34. echo "n?>";  
  35. $file=fopen($strName.'.arr.php','w');  
  36. fwrite($file,ob_get_contents());  
  37. fclose($file);  
  38. ob_clean();  
  39. return true;  
  40. }  
  41. ?> 

实例代码如下:

  1. <?php  
  2. //存储数组  
  3. $hello=array(1=>'test',2=>array('hello123'));  
  4. cacheArr($hello);  
  5. unset($hello);  
  6. //读取数组  
  7. require 'hello.arr.php';  
  8. print_r($hello);  
  9. ?>
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐