我有这个脚本工作,(如果找到的话)返回它找到文件的完整路径。我需要它只显示它所在的子目录。
例如,如果找到它,它将返回类似于:
的内容./ prls / carrier1 / 00000.prl
已经在数据库中了!
我希望它只是说:carrier1。
$dirname = './prls/';
$findme = $_FILES["file"]["name"];
$dirs = glob($dirname.'*', GLOB_ONLYDIR);
$files = array();
//--- search through each folder for the file
//--- append results to $files
foreach( $dirs as $d ) {
$f = glob( $d .'/'. $findme );
if( count( $f ) ) {
$files = array_merge( $files, $f );
}
}
if( count($files) ) {
foreach( $files as $f ) {
echo $f . "<br />";
}
echo "Already in database!";
die;
} else {
echo "Nothing was found, continue..";//Tell the user nothing was found.
}
如果返回结果,我该如何才显示子目录?
答案 0 :(得分:0)
pathinfo功能可能是您所需要的:http://www.php.net/manual/en/function.pathinfo.php
然后,您可以使用“dirname”字段的最后一部分。
答案 1 :(得分:-1)
用这个替换你的foreach循环:
foreach( $files as $f ) {
$info = pathinfo( $f );
$parts = explode( DIRECTORY_SEPARATOR, $info['dirname'] );
$lastSegment = array_pop( $parts );
echo $lastSegment . "<br />";
}