我正在编写如下所示的 php 代码,其中 Line#A 打印以下数组(如下所示 php 代码)。我的代码似乎没有进入 switch 语句。我不确定为什么。
我添加了 print_r($parts)
在 A 行打印 $parts 的值。
php code:
<?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);
}
}
}
}
?>
Output (Line#A):
Array
(
[dirname] => .
[basename] => hello.mp4
[extension] => mp4
[filename] => hello
)
我用过
echo "Hello World"
在 B 行,但由于某些原因,它没有被打印并抛出 500 internal server error
在控制台上。问题陈述:
我想知道我应该在 php 代码中进行哪些更改,以便它进入 switch 语句。
最佳答案
错误 500 是由 echo "Hello World"
引起的在案例 mp4
之外的 B 行.
你的 switch 语句应该是这样的。
switch ($parts['extension']) {
case 'mp4':
echo "hello world";
$filePath = $src_dir . DS . $f;
system('ffmpeg -i ' . $filePath . ' -map 0:2 -ac 1 ' . $destination_dir . DS . $parts['filename'] . '.mp3', $result);
break;
}
关于php - 如何在 php 中使用路径信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56519616/