在foreach中的基本问题

时间:2009-11-19 17:57:46

标签: php

基本上如果我有这样的字符串:

$ str = \ data1 \ data2 \ data3 \ data_tmp \ file.pgp

谁能告诉我如何获得最后一部分'file.pgp'?

TIA。

3 个答案:

答案 0 :(得分:6)

您正在寻找basename()功能。

此函数采用文件路径并返回文件名,不带后缀(文件名的最后一部分指定其类型)

答案 1 :(得分:4)

$last = array_pop(explode('\\', $str));

您不需要foreach。当你必须遍历整个集合(在你的情况下,数组)时使用它。

如果您需要获取字符串的剩余部分:

$segments = explode('\\', $str);
$last = array_pop($segments);

它将作为数组在$segments中。如果要将其转换回字符串,请使用join('\\', $segments)。但是,如果这是一个Windows路径并且您在Windows上运行PHP,那么您应该使用basenamedirname函数。

答案 2 :(得分:0)

也许pathinfo()会为您提供所需的信息

如果不这样做,请尝试

$path = str_replace('\\', '/', $path)

第一