show size and last modified date of files in file manager
This commit is contained in:
parent
902ac81e4b
commit
42ab4d85f0
|
@ -91,12 +91,16 @@ class FsFileManager
|
||||||
$this->applySort($finder, $options['sort'] ?? 'name', $options['sort_direction'] ?? 'asc');
|
$this->applySort($finder, $options['sort'] ?? 'name', $options['sort_direction'] ?? 'asc');
|
||||||
|
|
||||||
foreach ($finder as $file) {
|
foreach ($finder as $file) {
|
||||||
|
$splInfo = $this->getSplInfo($directory.'/'.$file->getBasename());
|
||||||
|
|
||||||
$data['files'][] = [
|
$data['files'][] = [
|
||||||
'basename' => $file->getBasename(),
|
'basename' => $file->getBasename(),
|
||||||
'path' => $directory,
|
'path' => $directory,
|
||||||
'webPath' => $this->pathUri.'/'.$directory.'/'.$file->getBasename(),
|
'webPath' => $this->pathUri.'/'.$directory.'/'.$file->getBasename(),
|
||||||
'locked' => $this->isLocked($directory.'/'.$file->getBasename()),
|
'locked' => $this->isLocked($directory.'/'.$file->getBasename()),
|
||||||
'mime' => mime_content_type($file->getRealPath()),
|
'mime' => mime_content_type($file->getRealPath()),
|
||||||
|
'size' => $splInfo ? $splInfo->getSize() : null,
|
||||||
|
'updated_at' => $splInfo ? date('Y-m-d H:i', $splInfo->getMTime()) : null,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@
|
||||||
<td width="10">
|
<td width="10">
|
||||||
<span class="fa fa-folder text-warning"></span>
|
<span class="fa fa-folder text-warning"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td colspan="2">
|
||||||
..
|
..
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
<td width="10">
|
<td width="10">
|
||||||
<span class="fa fa-folder text-warning"></span>
|
<span class="fa fa-folder text-warning"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td colspan="2">
|
||||||
<div v-if="item.locked" class="float-right">
|
<div v-if="item.locked" class="float-right">
|
||||||
<span class="btn btn-sm btn-light">
|
<span class="btn btn-sm btn-light">
|
||||||
<span class="fa fa-lock"></span>
|
<span class="fa fa-lock"></span>
|
||||||
|
@ -138,6 +138,10 @@
|
||||||
|
|
||||||
<span v-html="item.basename"></span>
|
<span v-html="item.basename"></span>
|
||||||
</td>
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<span class="btn btn-sm btn-light border-light mr-1 mb-1" v-text="readableFilesize(item.size)"></span>
|
||||||
|
<span class="btn btn-sm btn-light border-light mr-1 mb-1" v-text="item.updated_at"></span>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
@ -323,6 +327,26 @@ export default {
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
alert('An error occured')
|
alert('An error occured')
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
readableFilesize (size) {
|
||||||
|
if (size <= 0) {
|
||||||
|
return '0 KB'
|
||||||
|
}
|
||||||
|
|
||||||
|
if (size === 1) {
|
||||||
|
return '1 byte'
|
||||||
|
}
|
||||||
|
|
||||||
|
const mod = 1024
|
||||||
|
const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB']
|
||||||
|
let i = 0
|
||||||
|
|
||||||
|
while (size > mod && i < units.length - 1) {
|
||||||
|
size /= mod
|
||||||
|
++i
|
||||||
|
}
|
||||||
|
|
||||||
|
return `${size.toFixed(2)} ${units[i]}`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
|
Loading…
Reference in a new issue