SO - PHP Online

Form of PHP Sandbox

Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php in the places where the PHP script should be executed.



Your result can be seen below.

Result of php executing





Full code of SO.php

  1. <?php
  2.         //Enter your code here, enjoy!
  3.  
  4. $objects = [
  5.     [
  6.         'Key' => 'dashboard/demo.consultive.test/user-data/nXb2K1feviqsjzuW7mgQG2Cghc1Kem8U/uploads/folder/',
  7.         'LastModified' => [
  8.             'date' => '2020-02-25 09:47:43.000000',
  9.             'timezone_type' => '2',
  10.             'timezone' => 'Z'
  11.         ],
  12.         'ETag' => 'd41d8cd98f00b204e9800998ecf8427e',
  13.         'Size' => 0,
  14.         'StorageClass' => 'STANDARD'
  15.     ],
  16.     [
  17.         'Key' => 'dashboard/demo.consultive.test/user-data/nXb2K1feviqsjzuW7mgQG2Cghc1Kem8U/uploads/general/BMS-Shield.txt',
  18.         'LastModified' => [
  19.             'date' => '2020-02-25 10:24:58.000000',
  20.             'timezone_type' => '2',
  21.             'timezone' => 'Z'
  22.         ],
  23.         'ETag' => '5270e0e4f58c9b33eb7fc6f4cb3c8a04',
  24.         'Size' => 0,
  25.         'StorageClass' => 'STANDARD'
  26.     ],
  27.     [
  28.         'Key' => 'dashboard/demo.consultive.test/user-data/nXb2K1feviqsjzuW7mgQG2Cghc1Kem8U/uploads/general/image-2.jpg',
  29.         'LastModified' => [
  30.             'date' => '2020-02-24 16:34:21.000000',
  31.             'timezone_type' => '2',
  32.             'timezone' => 'Z'
  33.         ],
  34.         'ETag' => '1c6eaa239899913d732a4bca343a1eac',
  35.         'Size' => 0,
  36.         'StorageClass' => 'STANDARD'
  37.     ],
  38.     [
  39.         'Key' => 'dashboard/demo.consultive.test/user-data/nXb2K1feviqsjzuW7mgQG2Cghc1Kem8U/uploads/planning/composer.json',
  40.         'LastModified' => [
  41.             'date' => '2020-02-24 16:34:45.000000',
  42.             'timezone_type' => '2',
  43.             'timezone' => 'Z'
  44.         ],
  45.         'ETag' => 'b83a5f582075d5668c8bb092b2e20516',
  46.         'Size' => 62,
  47.         'StorageClass' => 'STANDARD'
  48.     ] ,
  49.     [
  50.         'Key' => 'dashboard/demo.consultive.test/user-data/nXb2K1feviqsjzuW7mgQG2Cghc1Kem8U/uploads/test/',
  51.         'LastModified' => [
  52.             'date' => '2020-02-25 09:08:36.000000',
  53.             'timezone_type' => '2',
  54.             'timezone' => 'Z'
  55.         ],
  56.         'ETag' => 'd41d8cd98f00b204e9800998ecf8427e',
  57.         'Size' => 0,
  58.         'StorageClass' => 'STANDARD'
  59.     ] 
  60. ];
  61.  
  62. $prefix = 'dashboard/demo.consultive.test/user-data/nXb2K1feviqsjzuW7mgQG2Cghc1Kem8U/uploads/';
  63.  
  64. $folders = [];
  65.  
  66. foreach ($objects as $object) {
  67.     
  68.     $sub_folders = array();
  69.  
  70.     $_object_ = str_replace($prefix, '', $object['Key']);
  71.     $_date_ = str_replace('+00:00', '', str_replace('T', ' ', $object['LastModified']));
  72.  
  73.     if (strpos($_object_, '/') !== false && substr($_object_, -1) != '/') {
  74.  
  75.         if (!in_array(strtok($_object_, '/'), $folders)) {
  76.             $folders[strtok($_object_, '/')][] = explode('/', $_object_)[1];
  77.         }
  78.  
  79.     } elseif (strpos($_object_, '/') !== false) {
  80.         $folders[str_replace('/', '', $_object_)] = '';
  81.     }
  82. } 
  83. echo '<pre>';
  84.  
  85.     foreach($folders as $key => $folder){
  86.       echo $key.'<br/>';
  87.       if (is_array($folder)) {
  88.           foreach($folder as $f) {
  89.             echo ' -'.$f;
  90.             echo '<br/>';
  91.           }
  92.       } else {
  93.         echo '<br/>';
  94.       }
  95.     }
  96.  
  97. echo '</pre>';
File Description
  • SO
  • PHP Code
  • 25 Feb-2020
  • 2.94 Kb
You can Share it: