在文件夹中查找以字符串开头的文件


finding a file starting with a string inside a folder

$file = glob("submission/".$iid."/".$yr."/".$sem."/".$sec."/Word/".$sid.".*");
 if ($file!=="")
{ 
    return $path."/". $file;
   break;
}

sid是以学生id开头的学生提交的文件。我想从文件夹'word'中找到确切的文件。文件类似于211000110-Word.docx

glob()返回一个数组,您需要进一步遍历该数组,并将各个值与您正在查找的值进行匹配。

$files = glob("submission/".$iid."/".$yr."/".$sem."/".$sec."/Word/*.docx");
$result = false; 
foreach($files as $file) {
    if($file == "$sid-Word.docx"){
        $result = $file;
        break;
    }
}

把它变成一个可重用的函数是个好主意:

function get_student_file($sid) {
    $files = glob("submission/".$iid."/".$yr."/".$sem."/".$sec."/Word/*.docx");
    $result = false; 
    foreach($files as $file) {
        if($file == "$sid-Word.docx"){
            $result = $file;
            break;
        }
    }
    unset($files);
    return $result;
}