我怎样才能返回文件名.$ image是否打印绝对路径名?
<?php
$directory = Yii::getPathOfAlias('webroot').'/uploads/';
$images = glob($directory . "*.{jpg,JPG,jpeg,JPEG,png,PNG}", GLOB_BRACE);
foreach($images as $image)
echo $image
?>
Run Code Online (Sandbox Code Playgroud)
我想要的只是特定目录中的文件名而不是绝对名称.
Asg*_*oth 48
使用php的basename
返回路径的尾随名称组件
<?php
$directory = Yii::getPathOfAlias('webroot').'/uploads/';
$images = glob($directory . "*.{jpg,JPG,jpeg,JPEG,png,PNG}", GLOB_BRACE);
foreach($images as $image)
echo basename($image);
?>
Run Code Online (Sandbox Code Playgroud)
ern*_*nie 23
而不是basename,你可以在你之前使用chdir,因此结果不包含路径,例如:
<?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;
?>
Run Code Online (Sandbox Code Playgroud)
这可能会快一点,但除非你有大量文件,否则不会有任何显着差异
Max*_*xer 19
一内胆:
$images = array_map('basename', glob($directory . "*.{jpg,JPG,jpeg,JPEG,png,PNG}", GLOB_BRACE));
Run Code Online (Sandbox Code Playgroud)
Dav*_*ris 16
使用 basename()
echo basename($image);
Run Code Online (Sandbox Code Playgroud)
你也可以删除这样的扩展名:
echo basename($image, '.php');
Run Code Online (Sandbox Code Playgroud)