Guest User

Untitled

a guest
Jan 10th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. <?php
  2. class configs {
  3. public static $array = [
  4. ['subarray0','Heading 0',['0-0','0-1']], // configs::$array[0] =>
  5. ['subarray1','Heading 1',['1-0','1-1']] // configs::$array[1] =>
  6. ];
  7. }
  8. ?>
  9.  
  10. <?php
  11. $fileToBeOverwritten = __DIR__ .'/configs.php';
  12. require_once $fileToBeOverwritten;
  13. $currentSubarray = configs::$array[1]; // берем текущий подмассив с индексом 1 с общего массива $array
  14. configs::$array[1][1] = 'New Heading 1'; // меняем 'Heading 1' на 'New Heading 1'
  15. $changedSubarray = configs::$array[1]; // определяем изменённый подмассив
  16. $currentFileSource = file_get_contents($fileToBeOverwritten); // берем текущий код configs.php
  17. $changedFileSource = str_replace($currentSubarray,$changedSubarray,$currentFileSource); // заменяем в коде файла текущий подмассив изменённым подмассивом
  18. file_put_contents($fileToBeOverwritten,$changedFileSource); // перезаписываем изменённый код файла
  19. ?>
  20.  
  21. ...
  22. $currentSubarray = configs::$array[1];
  23. configs::$array[1][2][0] = 'New 1-0'; // берём в подмассиве с индексом 1 третий элемент, который является вложенным массивом и пытаемся поменять в нем значение первого элемента
  24. $changedSubarray = configs::$array[1];
  25. ...
  26.  
  27. <?php $configs = [
  28. 'array' => [
  29. ['subarray0','Heading 0',['0-0','0-1']], // 0 =>
  30. ['subarray1','Heading 1',['1-0','1-1']] // 1 =>
  31. ]
  32. ];
  33. ?>
  34.  
  35. <?php
  36. $fileToBeOverwritten = __DIR__ .'/configs.php';
  37. require_once $fileToBeOverwritten;
  38. $configs['array'][1][2][0] = 'New 1-0';
  39. file_put_contents($fileToBeOverwritten, '<?php $configs = '.var_export($configs, true));
  40. ?>
  41.  
  42. $changedFileSource = '<?php
  43.  
  44. class configs {
  45. public static $array = ' . var_export($changedConfigs) . ';
  46. }
  47. ';
  48. file_put_contents($fileToBeOverwritten, $changedFileSource);
  49.  
  50. <?php
  51. // configs.php
  52.  
  53. return [
  54. ['subarray0','Heading 0',['0-0','0-1']],
  55. // ...
  56. ];
  57.  
  58. <?php
  59. // main.php
  60.  
  61. $configs = require __DIR__ . '/configs.php';
Add Comment
Please, Sign In to add comment