【发布时间】:2014-01-17 17:38:48
【问题描述】:
我有以下控制器/动作:
<?php
class ImageController extends CController {
public function actionView($folder, $name) {
$ds = DIRECTORY_SEPARATOR;
$file = Yii::app()->params['images_path'] . $ds . $folder . $ds . $name;
$content = file_get_contents($file);
Yii::app()->request->sendFile($file, $content);
}
}
这将是一个基本的图像服务操作。我的图像位于网络根文件夹之外。问题是如何优化文件的读取。似乎每个请求都执行整个 Yii 应用程序只是为了提供一个图像。网站上有很多图片,这是一个很大的性能问题。任何想法如何解决这个问题?
【问题讨论】:
-
这将是昂贵的;您正在读取图像文件的全部内容,将其分配给 PHP 变量并通过框架提供服务。理想情况下,您希望直接通过 HTTP 服务器提供静态文件,例如图像。
标签: php image performance yii