看php底层,会发现include_once的工作原理,它是先把文件绝对路径存放在一个大的数组中,我们可以通过get_included_files()得到文件的地址数组,然后在去判断现在要包含的是否已经存在,如果存在则不包含,否则包含。
$arr=array();
$_SESSION['fpath']=$arr;
function myInclude($str){
$flag=in_array(realpath($str),$_SESSION['fpath']);
if($flag){
echo 'aaaaaaaaaa';//写自己想要的实现的功能
}else{
echo 'bbbbbbbbbbb';
$_SESSION['fpath'][]=realpath($str);//写自己想要的实现的功能
echo '<pre>';
print_r($_SESSION['fpath']);
echo '</pre>';
}
}