如何使用PATHINFO在PHP?(How to use pathinfo in php?)

2019-10-29 08:27发布

我在PHP代码工作如下所示在其上线#A打印以下阵列(下面PHP代码示出)。 我的代码似乎并不去switch语句。 我不知道为什么。

我加入print_r($parts) ,以输出$部分价值在A线。

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语句。

Answer 1:

错误500是造成echo "Hello World" ,在B线是区分以外的mp4

您的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;
}


文章来源: How to use pathinfo in php?