我有这条线。
$line = '/opt/fings/interface/20140905111645811106.txt 0';
我用它来追踪尾随的0/r/n
。
$pos = strpos($lines[$x], ' ');
$file = '.'.substr($lines[$x], 0, $pos);
所以我留下了这个/opt/fings/interface/20140905111645811106.txt
但我需要单独的文件名。例如20140905111645811106.txt
何我从背面抓住字符串直到第一次出现斜线?
答案 0 :(得分:6)
在这种情况下,您可以使用basename()
:
$line = '/opt/fings/interface/20140905111645811106.txt';
echo basename($line); // 20140905111645811106.txt
答案 1 :(得分:4)
试试这个 -
$str = '/opt/fings/interface/20140905111645811106.txt';
$file = end(explode('/',$str));
echo $file;
输出将为 - 20140905111645811106.txt
答案 2 :(得分:3)
第三个决定
echo pathinfo ( '/opt/fings/interface/20140905111645811106.txt', PATHINFO_BASENAME );
答案 3 :(得分:2)
使用strrchr()
查找字符串中字符的最后一次出现。
请参阅:http://php.net/manual/en/function.strrchr.php
$position = strrchr($str, '/');
答案 4 :(得分:2)
你可以使用这个
$text = '/opt/fings/interface/20140905111645811106.txt'
substr( strrchr( $text, '/' ), 1 );
答案 5 :(得分:2)
另一种方法是使用substr
和strrpos
$filename = substr($line, strrpos($line, "/")+1);
答案 6 :(得分:2)
通过preg_match
,
$line = '/opt/fings/interface/20140905111645811106.txt';
preg_match('~[^/]+$~', $line, $match);
echo $match[0]; // 20140905111645811106.txt