gisostallenberg / file-serving
为浏览器提供直接不可用的文件
1.3.0
2022-06-24 13:31 UTC
Requires
- php: ^7.4 | ^8.0
- symfony/http-foundation: ^4.4|^5.4|^6.0
Requires (Dev)
- phpunit/phpunit: ^8.5
README
为浏览器提供直接不可用的文件
安装
composer require gisostallenberg/file-serving
使用示例
添加到 serve-it/.htaccess
RewriteRule .* file-serving.php [QSA,L]
file-serving.php 内容
<?php require_once __DIR__ . '/../../vendor/autoload.php'; use GisoStallenberg\FileServing\FileServer; $fileserver = new FileServer('../../serve-me/', 'serve-it/'); $fileserver->serve(); // will server http://example.com/serve-it/example.txt when ../serve-me/example.txt exists, gives a 404 otherwise
<?php require_once __DIR__ . '/../../vendor/autoload.php'; use GisoStallenberg\FileServing\FileServer; use Symfony\Component\HttpFoundation\Response; $fileserver = new FileServer('../../serve-me/', 'serve-it/'); $response = $fileserver->getResponse(); // do not serve yet if ($response->getStatusCode() === Response::HTTP_NOT_FOUND) { $fileserver = new FileServer('../../serve-other-dir/', 'serve-it/'); // check another directory $response = $fileserver->getResponse(); } $response->send();
鸣谢
Niels Nijens (https://github.com/niels-nijens/)