Я работаю над php-кодом, как показано ниже, на котором строка # A печатает следующий массив (показан под php-кодом). Мой код, похоже, не входит в оператор switch. Я не уверен почему.
Я добавил print_r($parts)
в строке A, чтобы напечатать значение $ parts.
php код:
<?php
if (!empty($_POST['id']))
{
for($i=0; $i <count($mp4_files); $i++) {
if($i == $_POST['id']) {
$f = $mp4_files[$i];
$parts = pathinfo($f);
print_r($parts); // Line A
switch ($parts['extension'])
{
echo "Hello World"; // Line B
case 'mp4' :
$filePath = $src_dir . DS . $f;
system('ffmpeg -i ' . $filePath . ' -map 0:2 -ac 1 ' . $destination_dir . DS . $parts['filename'] . '.mp3', $result);
}
}
}
}
?>
Выход (строка № A):
Array
(
[dirname] => .
[basename] => hello.mp4
[extension] => mp4
[filename] => hello
)
Я использовал echo "Hello World"
в строке B, но по некоторым причинам он не печатается и выдает 500 internal server error
на консоль.
Постановка задачи:
Мне интересно, какие изменения я должен внести в код php, чтобы он входил в оператор switch.