无法使用 getID3 从数组中获取错误

Unable to get an error from the array with getID3

当我搜索已上传的临时文件时,我试图向 return 发送错误消息。

`

$getID3 = new getID3;
$file = $getID3->analyze($_FILES["file"]["tmp_name"]);
//print_r($file);

if (isset($file['error'])) {
    echo $file['error'];
} else {
    echo "
    <b>Duration:</b> " . $file['playtime_string'] . "<br/>
    <b>Dimensions:</b> " . $file['video']['resolution_x'] . "x" . $file['video']['resolution_y'] . "<br/>
    <b>Filesize:</b> " . $file['filesize'] . "bytes";
}

`

它存在于数组中,因为当我上传无效的文件类型时,它 return 就是这个数组。

Array
        (
            [GETID3_VERSION] =&gt; 1.9.12-201602240818
            [filesize] =&gt; 159924
            [filepath] =&gt; /tmp
            [filename] =&gt; phpQAJeuD
            [filenamepath] =&gt; /tmp/phpQAJeuD
            [encoding] =&gt; UTF-8
            [error] =&gt; Array
                (
                    [0] =&gt; unable to determine file format
                )

        )

怎么没有得到['error']

['error']是一个数组。

你需要输出['error'][0]

因为$file['error']是一个数组。无法回显数组。

您可以使用函数 print_r() 或循环遍历它来打印数组的内容。

例如:

$arr = array('one', 'two', 'three');
foreach($arr as $value){
    echo $value."\r\n";
}

有关如何处理数组的更多信息,请参阅有关数组的 php 文档:http://php.net/manual/en/language.types.array.php

如果在任何情况下您不确定变量的类型,您可以使用函数 gettype() 来解决。另请参阅文档以获取更多信息:http://php.net/manual/en/function.gettype.php