1

我遇到了一个奇怪的场景,我不知道如何编码。我正在为 wordpress 网站创建一个 JSON API。我正在使用 Connections 插件并尝试提取“原始”图像文件名。我的 sql 命令的输出是这样的:

{
    ["options"]=>
    string(396) "a:4:{s:5:"entry";a:1:{s:4:"type";s:12:"organization";}s:5:"group";a:1:{s:6:"family";a:0:{}}s:4:"logo";a:2:{s:6:"linked";b:0;s:7:"display";b:0;}s:5:"image";a:3:{s:6:"linked";b:1;s:7:"display";b:1;s:4:"name";a:4:{s:9:"thumbnail";s:25:"invoicelogo_thumbnail.jpg";s:5:"entry";s:21:"invoicelogo_entry.jpg";s:7:"profile";s:23:"invoicelogo_profile.jpg";s:8:"original";s:24:"invoicelogo_original.jpg";}}}"
  }
}

我正在使用以下命令来获取它:

querystr = "SELECT options FROM {$wpdb->prefix}connections WHERE id= '{$_GET['companyID']}'"; 
    $options = $wpdb->get_results($querystr);

我不确定如何提取此代码的“原始”部分,因为它并没有那么有条理。任何帮助,将不胜感激。

4

1 回答 1

2

您看到的是 phpserialize调用的结果

要获得原始名称,只需执行此操作。

$decodedOptions = unserialize($options);
$original = $decodedOptions["image"]["name"]["original"];

希望有帮助

作为旁注,反序列化的数据看起来像

Array
(
    [entry] => Array
        (
            [type] => organization
        )

    [group] => Array
        (
            [family] => Array
                (
                )

        )

    [logo] => Array
        (
            [linked] => 
            [display] => 
        )

    [image] => Array
        (
            [linked] => 1
            [display] => 1
            [name] => Array
                (
                    [thumbnail] => invoicelogo_thumbnail.jpg
                    [entry] => invoicelogo_entry.jpg
                    [profile] => invoicelogo_profile.jpg
                    [original] => invoicelogo_original.jpg
                )

        )

)
于 2013-05-21T03:53:24.697 回答