我有一个Laravel应用程序,它包含各种包含用户上传的文件夹。此外,还有种子上传数据作为虚拟数据。
当应用程序被拉到临时服务器时,上传目录的权限有时会失败。所以我想写一些测试来检查目录/文件实际上是否可写
我已经厌倦了这样的事情:
$this->assertEquals(substr(sprintf('%o', fileperms(sprintf("%s/%s", public_path(), $document->base_dir))), -4), '0775');
但是,即使测试通过,在浏览器中尝试上传时,由于权限,上传仍然会失败。
我也尝试过:
$this->assertTrue(is_writable(sprintf("%s/%s", public_path(), $document->base_dir)));
但这似乎不准确。测试会通过,但上传仍然失败。
我的问题:我认为这与在浏览器中运行测试与执行时调用的用户有关。那么有更准确的方法可以通过PHP进行测试吗?