cakePHP中的媒体视图
您好,我使用MediaView在cakePHP框架中实现了文件下载功能 我通过URL传递一个参数的原因该参数随文件一起显示 名称我需要删除URL参数,我尝试过但失败,请帮助我 我下载文件的代码cakePHP中的媒体视图,cakephp,Cakephp,您好,我使用MediaView在cakePHP框架中实现了文件下载功能 我通过URL传递一个参数的原因该参数随文件一起显示 名称我需要删除URL参数,我尝试过但失败,请帮助我 我下载文件的代码 $fileExtn = explode('.', $this->contentItem['file_path']); $url = $this->contentItem['file_path']; $urlArr = explode('/', $url);
$fileExtn = explode('.', $this->contentItem['file_path']);
$url = $this->contentItem['file_path'];
$urlArr = explode('/', $url);
$fileExtn = end($fileExtn);
if(in_array($fileExtn, $this->MEDIAMAP)) {
$fileExtn = str_replace('.', '', $fileExtn);
if(!empty($urlArr)) {
$fileName = end($urlArr);
$fileNameWOExtn = explode('.', $fileName);
//$fileNameWOExtn = $fileName[0];
$fileNameWOExtn = $fileName;
unset($urlArr[count($urlArr)-1]);
$url = implode(DS, $urlArr);
}
$this->view = 'Media';
$params = array(
'id' => $fileName,
'name' => $fileNameWOExtn,
'download' => false,
'extension' => $fileExtn, // must be lower case
'path' => APP . 'views' . DS . 'static'. $url .DS // don't forget terminal 'DS'
);
$this->set($params);
我的URL是这样的:/uploads/leave\u policy\u leave\u policy\u tasks\u v1.3.xlsx
提前感谢您可以使用正则表达式查找最后一个
字符,例如
preg_match("/(.*?)(\.)(\w*)$/", $filepath, $path_parts);
您还需要利用CakePHP附带的
文件夹
和文件
对象的功能。您应该始终提及您正在使用的确切CakePHP版本。删除所有调试输出(LogUtil::$logg等)也会使其更具可读性:D。然后可以关注真实的代码。