1

アップロードされた一時ファイルを検索すると、エラーが返されるようにしようとしています。

`

$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";
}

`

無効なファイルタイプをアップロードすると、この配列が返されるため、配列に存在します。

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']か?

4

2 に答える 2

2

$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

于 2016-03-09T20:24:23.373 に答える
1

['error']配列です。

出力する必要があります['error'][0]

于 2016-03-09T20:23:08.230 に答える