За последние 24 часа нас посетили 23349 программистов и 1514 роботов. Сейчас ищут 794 программиста ...

Странный объект

Тема в разделе "PHP для новичков", создана пользователем NerdRage, 5 апр 2017.

  1. NerdRage

    NerdRage Активный пользователь

    С нами с:
    6 июл 2016
    Сообщения:
    439
    Симпатии:
    42
    Вытащил тут объект миниатюры в одной CMS, а как вытащить отсюда нужное мне свойство - не понятно. Мне нужны path и pathPrefix, чтобы составить из них абсолютный путь к пикче. Первый раз такой замороченный объект вижу.

    var_dump:
    PHP:
    1. object(League\Flysystem\File)#3003 (2) {
    2.  ["path":protected]=>
    3.   string(28) "7814/9139/2642/savatugin.PNG"
    4.   ["filesystem":protected]=>
    5.   object(League\Flysystem\Filesystem)#2999 (3) {
    6.    ["adapter":protected]=>
    7.     object(League\Flysystem\Adapter\Local)#2997 (5) {
    8.      ["pathSeparator":protected]=>
    9.       string(1) "\"
    10.      ["permissionMap":protected]=>
    11.      array(2) {
    12.        ["file"]=>
    13.        array(2) {
    14.          ["public"]=>
    15.          int(420)
    16.          ["private"]=>
    17.          int(384)
    18.        }
    19.        ["dir"]=>
    20.        array(2) {
    21.          ["public"]=>
    22.          int(493)
    23.          ["private"]=>
    24.          int(448)
    25.        }
    26.      }
    27.      ["writeFlags":protected]=>
    28.      int(2)
    29.      ["linkHandling":"League\Flysystem\Adapter\Local":private]=>
    30.      int(2)
    31.      ["pathPrefix":protected]=>
    32.      string(61) "C:\MyStuff\WORK\OpenServer\domains\wrm\www\application\files\"
    33.    }
    34.    ["plugins":protected]=>
    35.    array(0) {
    36.    }
    37.    ["config":protected]=>
    38.    object(League\Flysystem\Config)#2979 (2) {
    39.      ["settings":protected]=>
    40.      array(0) {
    41.      }
    42.      ["fallback":protected]=>
    43.      NULL
    44.    }
    45.  }
    46. }
    var_export:
    PHP:
    1. League\Flysystem\File::__set_state(array(
    2.    'path' => '7814/9139/2642/savatugin.PNG',
    3.    'filesystem' =>
    4.   League\Flysystem\Filesystem::__set_state(array(
    5.      'adapter' =>
    6.     League\Flysystem\Adapter\Local::__set_state(array(
    7.        'pathSeparator' => '\\',
    8.        'permissionMap' =>
    9.       array (
    10.         'file' =>
    11.         array (
    12.           'public' => 420,
    13.           'private' => 384,
    14.         ),
    15.         'dir' =>
    16.         array (
    17.           'public' => 493,
    18.           'private' => 448,
    19.         ),
    20.       ),
    21.        'writeFlags' => 2,
    22.        'linkHandling' => 2,
    23.        'pathPrefix' => 'C:\\MyStuff\\WORK\\OpenServer\\domains\\wrm\\www\\application\\files\\',
    24.     )),
    25.      'plugins' =>
    26.     array (
    27.     ),
    28.      'config' =>
    29.     League\Flysystem\Config::__set_state(array(
    30.        'settings' =>
    31.       array (
    32.       ),
    33.        'fallback' => NULL,
    34.     )),
    35.   )),
    36. ))
     
  2. NerdRage

    NerdRage Активный пользователь

    С нами с:
    6 июл 2016
    Сообщения:
    439
    Симпатии:
    42
    Ох жесть...

    PHP:
    1. $src = $thumb->getPath();
    2. $prefix = $thumb->getFilesystem();
    3. $prefix = $prefix->getAdapter();
    4. $prefix = $prefix->getPathPrefix();
    5. $prefix = str_replace('\\', '/', $prefix);
    6. $path = $prefix.$src;
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    to
    Код (PHP):
    1. $prefix = $thumb->getFilesystem()->getAdapter()->getPathPrefix();
    а зачем слеши менять?
     
    denis01 нравится это.
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.814
    Симпатии:
    1.332
    Адрес:
    Лень
    прочел случайно так:
    [​IMG]
     
    denis01 нравится это.
  5. NerdRage

    NerdRage Активный пользователь

    С нами с:
    6 июл 2016
    Сообщения:
    439
    Симпатии:
    42
    Привычка, всегда так делаю для универсальности. В винде и с обычными слешами работает, а в линуксе с обратными не работает.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    DIRECTORY_SEPARATOR :D
     
    Shkiper777, NerdRage, mahmuzar и ещё 1-му нравится это.