首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中使用pathinfo?

如何在php中使用pathinfo?
EN

Stack Overflow用户
提问于 2019-06-10 01:33:41
回答 1查看 292关注 0票数 0

我正在编写一个php代码,如下所示,Line#A将打印以下数组(如下面的php代码所示)。我的代码似乎不在开关语句中。我不知道为什么。

我在A行添加了print_r($parts),以便打印$parts的值。

php代码:

代码语言:javascript
复制
<?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);
    }
    }
    }
    }
?>

输出(Line#A):

代码语言:javascript
复制
Array 
(
    [dirname]  => .
    [basename] => hello.mp4
    [extension] => mp4
    [filename] => hello
)

我在B行使用过echo "Hello World",但出于某些原因,它没有被打印出来并将500 internal server error扔到控制台上。

问题陈述:

我想知道我应该在php代码中做哪些修改,这样它才能进入switch语句。

EN

回答 1

Stack Overflow用户

发布于 2019-06-10 03:04:19

错误500是由B行的echo "Hello World"引起的,B行不在mp4的情况下。

你的开关语句应该是这样的。

代码语言:javascript
复制
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;
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56519616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档