如何在php中使用glob()只返回文件名

2022-01-04 00:00:00 php yii

我怎么能只返回文件名.$image 正在打印绝对路径名?

How can I just return the file name. $image is printing absolute path name?

<?php
$directory = Yii::getPathOfAlias('webroot').'/uploads/';
$images = glob($directory . "*.{jpg,JPG,jpeg,JPEG,png,PNG}", GLOB_BRACE);
 foreach($images as $image)
   echo $image
?>

我想要的是特定目录中的文件名,而不是绝对名称.

All I want is the file name in the specific directory not the absolute name.

推荐答案

代替 basename,你可以在 glob 之前 chdir,所以结果不包含路径,例如:

Instead of basename, you could chdir before you glob, so the results do not contain the path, e.g.:

<?php
$directory = Yii::getPathOfAlias('webroot').'/uploads/';
chdir($directory); // probably add some error handling around this
$images = glob("*.{jpg,JPG,jpeg,JPEG,png,PNG}", GLOB_BRACE);
 foreach($images as $image)
   echo $image;
?>

这可能会快一点,但除非您有大量文件,否则不会产生任何显着差异

This is probably a little faster, but won't make any significant difference unless you have tons of files

相关文章