你有以下代码在slim保存文件
我想确保文件已上传到服务器,然后才返回true。或者是假的
我怎么能用Slim或PHP做到这一点?
对于非原因,文件日志的结果始终为null,并且正在上载文件
public function saveFiles(Array $files, $location) {
try
{
/** @var UploadedFileInterface $file */
foreach ($files as $file) {
$fileLog = $file->moveTo($location . DIRECTORY_SEPARATOR . $file->getFilename());
}
return true;
}
catch(\Exception $e) {
throw new Exception($e->getMessage());
答案 0 :(得分:1)
根据这个PSR的细长实现,如果在上传文件时出现问题,它总是会抛出异常。
我不知道你是否因为一个原因而抛出另一个例外,但你可以处理它:
public function saveFiles(Array $files, $location) {
$result = true;
foreach ($files as $file) {
try {
$fileLog = $file->moveTo($location . DIRECTORY_SEPARATOR . $file->getFilename());
} catch(\Exception $e) {
// Exception on file uploading happened, but
// we still continue loading other files
$result = false;
// Or just `return false;` if you don't want
// to upload other files if exception happened
// return false;
}
}
return $result;
}
当然,这种方法可以扩展到收集异常'消息并返回它们。