人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel Blade に ディスクの残り容量を表示させる

● Bladeファイルで残り容量を表示させる

resources/views/admin/inc/disk_info.blade.php

@php
        // ディスク容量
        $d =  `df -hT`;
        $d_array = preg_split("/\n/",$d);
        $disk_info = $d_array[0]. "<br>" .$d_array[1];
@endphp
<div class="disk_free_space">
<b>ディスク情報</b><br>
<pre>
{!! $disk_info !!}
</pre>
</div>

他のBladeから呼び出します

@include('admin.inc.disk_info')

● PHPコードのみで残り容量を表示させる

<?php

$d =  `df -hT`;
$d_array = preg_split("/\n/",$d);

$disk_info = $d_array[0];
$disk_info = preg_replace("/Mounted on/","MountedOn",$disk_info);
$disk_info = preg_replace("/\s+/"," ",$disk_info);
$disk_headers = preg_split("/\s/",$disk_info);

$disk_data = [];
foreach ($d_array as $k => $v) {
    if ( preg_match("{/$}",$v) ) {
        $v = preg_replace("/\s+/"," ",$v);
        $v = preg_replace("{ /$}","",$v);
        $disk_data_array = preg_split("/\s/",$v);
        array_push($disk_data,$disk_data_array);
    }
}

echo "<table>\n";

// 1. ヘッダ
echo "<tr>\n";
foreach ($disk_headers as $v) {
    if ( strcmp($v, 'MountedOn') == 0 ){ continue; }
    if ( strcmp($v, 'Avail') == 0 ){ $v = "残り容量"; }
    echo "<th>{$v}</th>";
}
echo "</tr>\n";

// 2. データ
echo "<tr>\n";
foreach ($disk_data as $row) {
    foreach ($row as $v) {
        echo "<td>{$v}</td>";
    }
}
echo "</tr>\n";
echo "</table>\n";

添付ファイル1
No.1568
07/10 15:18

edit

添付ファイル