我的远程机器上有一些这种格式的文件,如下所示:
123-0.jpeg,123-1.jpeg,123-2.jpeg,123-3.jpeg, ...
544-0.jpeg,544-1.jpeg,544-2.jpeg,544-3.jpeg, ...
现在我只想从url获取所有以123开头的文件名(此格式为123- * .jpeg),但我不知道如何用这样的格式重命名:123 - * .jpeg也许可以一些array
或者你知道,有人能告诉我谢谢你吗?!
或者如果可能的话,只需在我的情况下获得持续的名称为123-3.jpeg。
答案 0 :(得分:1)
你在寻找glob函数吗?
http://php.net/manual/en/function.glob.php
foreach (glob("123-*.jpeg") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}
编辑:根据您的评论,这可能会做您正在寻找的内容:它有一些缺陷(例如:远程服务器更改输出),但它应该足以让您进入正确的方向。
$html = file_get_contents("http://plusmaster.info/screenshots/");
// Note that this pattern returns nothing at the present.
$pattern = '/data-name="(123-[0-9]*\.jpeg)" /';
// If you want to get *-123.jpeg instead, use this:
// $pattern = '/data-name="([0-9]*-123\.jpeg)" /';
preg_match_all($pattern, substr($html,3), $matches, PREG_PATTERN_ORDER);
// To dump the whole array of matches:
var_dump($matches[1]);
// To echo the last item in the array
echo end($matches[1]);
一些在PHP中使用Regex的有用工具:
1)Rubular通常也非常适合测试PHP正则表达式,即使它是为Ruby制作的:http://rubular.com/
2)PHP手册更深入地解释了preg_match_all:http://php.net/manual/en/function.preg-match-all.php
如果您有任何问题,请与我们联系。