我安装了一个api,需要在下载前检查文件是否不超过5秒。
我认为路由可能有问题,但会抛出:
“警告:filemtime():{req}的统计信息失败”
和$ req应该是我在特定位置的.csv文件。
我的代码:
/**
* @Route("/uploads/{date}/{req}", name="export", requirements={"req"=".*"})
* @ParamConverter("date", options={"format": "Y-m-d"})
*/
public function getTransactionExportToCsvAction($req)
{
$file = $req;
$projectDir = $this->get('kernel')->getProjectDir() . '/protected/uploads/' . date('Y-m');
$fullPath = $projectDir . '/' . $file;
$pathDir = dirname($fullPath);
if(!is_dir($pathDir)) {
mkdir($pathDir, 0777, true);
}
$time = 5; //seconds
if( time() - filemtime( $file ) <= $time )
{
return $pathDir;
}
else
{
throw new \Exception('File does not exist!');
}
}