webman การจัดการไฟล์สถิต
webman รองรับการเข้าถึงไฟล์สถิติ ไฟล์สถิตทั้งหมดจะถูกเก็บไว้ในไดเรกทอรี public
เช่น การเข้าถึง http://127.0.0.8787/upload/avatar.png
จะเป็นการเข้าถึง {主项目目录}/public/upload/avatar.png
จริง ๆ
注意
การเข้าถึงไฟล์สถิติที่มีจุดเริ่มต้นเป็น/app/xx/文件名
จะเป็นการเข้าถึงไดเรกทอรีpublic
ของปลั๊กอินแอปพลิเคชัน ซึ่งหมายความว่าการเข้าถึงไดเรกทอรีใน{主项目目录}/public/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 forbidden</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