webman รองรับการเข้าถึงไฟล์สถิติ โดยไฟล์สถิติจะถูกวางไว้ในไดเร็กทอรี 'public' เช่น การเข้าถึง http://127.0.0.8787/upload/avatar.png จริงๆแล้วก็คือการเข้าถึง {public directory}/upload/avatar.png

โปรดทราบ
เริ่มตั้งแต่ webman 1.4 เป็นต้นมา รองรับการใช้งานปลั๊กอินแอปพลิเคชัน การเข้าถึงไฟล์สถิติที่เริ่มต้นด้วย /app/xx/ชื่อไฟล์ จริงๆแล้วเหมือนกับการเข้าถึงไดเร็กทอรี 'public' ของปลั๊กอินโดย webman >=1.4.0 จะไม่รองรับการเข้าถึงไดเร็กทอรี {public directory}/app/ โปรดดูเพิ่มเติมที่ปลั๊กอินแอปพลิเคชัน

ปิดการรองรับไฟล์สถิติ

หากไม่ต้องการรองรับไฟล์สถิติ โปรดเปิดไฟล์ config/static.php และเปลี่ยนตัวเลือก enable เป็น false หลังจากปิดการรองรับทุกการเข้าถึงไฟล์สถิติจะคืนค่า404

เปลี่ยนไดเร็กทอรีของไฟล์สถิติ

webman ใช้ไดเร็กทอรี 'public' เป็นไดเร็กทอรีไฟล์สถิติเริ่มต้น หากต้องการเปลี่ยนโปรดเปลี่ยนฟังก์ชัน public_path() ภายใน support/helpers.php

มิดเดิลแวร์ไฟล์สถิติ

webman มาพร้อมกับมิดเดิลแวร์ไฟล์สถิติหนึ่งตัว ที่ตั้งอยู่ที่ app/middleware/StaticFile.php
บางครั้งเราอาจต้องการปรับแต่งไฟล์สถิติ เช่น การเพิ่มหัว http สำหรับไฟล์สถิติ หรือ ห้ามการเข้าถึงไฟล์ที่ขึ้นต้นด้วยจุด (.)

เนื้อหาภายใน app/middleware/StaticFile.php คล้ายกับด้านล่าง:

<?php
namespace support\middleware;

use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;

class StaticFile implements MiddlewareInterface
{
    public function process(Request $request, callable $next) : Response
    {
        // ห้ามการเข้าถึงไฟล์ที่ขึ้นต้นด้วย .
        if (strpos($request->path(), '/.') !== false) {
            return response('<h1>403 ห้ามเข้าถึง</h1>', 403);
        }
        /** @var Response $response */
        $response = $next($request);
        // เพิ่มหัว http สำหรับการข้าถึง
        /*$response->withHeaders([
            'Access-Control-Allow-Origin'      => '*',
            'Access-Control-Allow-Credentials' => 'true',
        ]);*/
        return $response;
    }
}

หากต้องการใช้มิดเดิลแวร์นี้ โปรดเปิดในตัวเลือก middleware ในconfig/static.php