PHP:从路径中删除文件名

php
2022-08-30 11:27:08

假设我有一条路径:images/alphabet/abc/23345.jpg

如何从路径中删除末尾的文件?所以我最终得到:images/aphabet/abc/


答案 1

你想要 dirname()


答案 2

dirname() 只给你父文件夹的名称,所以会失败,不会dirname()pathinfo()

为此,您应该使用 pathinfo()

$dirname = pathinfo('images/alphabet/abc/23345.jpg', PATHINFO_DIRNAME);

告诉直接返回 .PATHINFO_DIRNAMEpathinfodirname

请参阅一些示例:

  • 对于路径,两者都有效:images/alphabet/abc/23345.jpg

    <?php
    
    $dirname = dirname('images/alphabet/abc/23345.jpg'); 
    // $dirname === 'images/alphabet/abc/'
    
    $dirname = pathinfo('images/alphabet/abc/23345.jpg', PATHINFO_DIRNAME); 
    // $dirname === 'images/alphabet/abc/'
    
  • 对于路径 ,其中失败:images/alphabet/abc/dirname

    <?php
    
    $dirname = dirname('images/alphabet/abc/'); 
    // $dirname === 'images/alphabet/'
    
    $dirname = pathinfo('images/alphabet/abc/', PATHINFO_DIRNAME); 
    // $dirname === 'images/alphabet/abc/'
    

推荐