Я пытаюсь получить сообщение об ошибке при поиске во временном загруженном файле.
`
$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] => 1.9.12-201602240818
[filesize] => 159924
[filepath] => /tmp
[filename] => phpQAJeuD
[filenamepath] => /tmp/phpQAJeuD
[encoding] => UTF-8
[error] => Array
(
[0] => 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