Re: ファイル挿入(アップロード)について・・・

2011年8月16日 at 13:38

yamanoiです。

PDFファイルをクリックするとブラウザ内で表示したい
ということでしょうか。
concrete5では、今のところできません。

解決策を1つ紹介
concrete/controllers/download_file.phpを
controllers/download_file.phpにコピーしてハックする方法もあります。
http://www.yamanoi.org/concrete5/hack/download/

Re: Re: ファイル挿入(アップロード)について・・・

2011年8月17日 at 10:10
yamanoiです。

mimeを指定する方法として
helppers/file.phpでFileHelperのforceDownloadの一部を書き換えます。
中身は、元のconcrete/helpers/file.phpの関数をベースに記述します。
<?php
defined('C5_EXECUTE') or die("Access Denied.");
class SiteFileHelper extends FileHelper {
public function forceDownload($file) {
// ここに中身を書く
}
}

PHP5.3を使っていれば、先頭でこんな感じ
if ( ! function_exists('finfo_open') ) {
header('Content-type: application/octet-stream');
} else {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo,$file);
header("Content-type: $mime_type");
}

それ以外だと、元の関数でコメントアウトしてある、下が有効かもしれません。
/*
$h = Loader::helper('mime');
$mimeType = $h->mimeFromExtension($this->getExtension($file));
header('Content-type: ' . $mimeType);
*/
 

Re: Re: Re: ファイル挿入(アップロード)について・・・

2011年8月20日 at 1:34
お手数をおかけしてすみません。

書換えをしなくてはいけないのですね・・・

初心者の方がお使いなので、無理そうですので諦めます。

ありがとうございました。