您在這裡
使用者登入
最新文章
回應
3 年 5 個月 之前
6 年 5 個月 之前
6 年 5 個月 之前
6 年 5 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
Re: 某個 檔案 給 某個 角色 下載 的 模組
如果是所有檔案的存取,預設的權限控制就可以處理。
如果是特定檔案...不知道...
Re: 某個 檔案 給 某個 角色 下載 的 模組
哈
就是特定的檔案
集思廣益吧!
相信很多人都需要這個功能
Re: 某個 檔案 給 某個 角色 下載 的 模組
剛好最近想用,找了一下,但還沒試驗,可以討論看看
http://drupal.org/project/downld
http://drupal.org/project/private_upload
http://drupal.org/project/uploadpath
--
from open mind to open source~
Re: 某個 檔案 給 某個 角色 下載 的 模組
private_upload 試完結果(我的英文程度差,所以不知道測試的方法對不對)
我從"依據模組"看它,它只有 "設定" 功能,沒有 "權限控制" 的設定,所以我用匿名權限還是可以下載檔案
Re: 某個 檔案 給 某個 角色 下載 的 模組
他有說是否要上傳到private的目錄中
所以private的目錄裡還是要加上.htaccess
orz
--
from open mind to open source~
Re: 某個 檔案 給 某個 角色 下載 的 模組
downld 更奇怪
找不到可以設定的地方
"權限控制" 裡面也沒有
Re: 某個 檔案 給 某個 角色 下載 的 模組
他readme有說明,要加上.htaccess
--
from open mind to open source~
Re: 某個 檔案 給 某個 角色 下載 的 模組
uploadpath
好像只是 可以上傳到不同資料夾的功能 而已
Re:
我把官網有關 "檔案控制" 的模組都測完了(我的英文程度差,不要太相信)
最有希望的就剩下一個方法
http://drupal.org/project/attachment
+
http://drupal.org/project/filemanager
+
一些控制權限的模組
(例如
http://drupaltaiwan.org/module/node_privacy_byrole
http://drupaltaiwan.org/module/content_access
)
我還沒完整測試
測試完,再跟大家說
Re:
真的可以
它的檔案連結會變成 http://xxx.xxx.xxx.xxx/drupal/filemanager/active?fid=2
如果您沒有 "檢視" 權限
會變成
拒絕存取
你沒有瀏覽此頁面的權限。
Re:
暈...
最後居然是這個模組... orz
--
from open mind to open source~
Re:
如果您的網站已經運行
不建議用這個模組
http://drupaltaiwan.org/module/node_privacy_byrole
如果用這個模組
就會要重設權限
Re:
拍拍手!
Re: 某個 檔案 給 某個 角色 下載 的 模組
想請問:
想詢問若是我的權限有分匿名使用者、已登入使用者、管理者
那麼若當已登入使用者和管理者有上傳檔案。
那麼可以讓檔案控制給"匿名使用者"能看到檔案都不能下載嘛? (就連結會變失效)
但若使用
一些控制權限的模組如上述所說的就變成已登入使用者和管理者每次上傳檔案都附於勾選權限。不知有沒其它比較好的方式~~ >w<非常謝謝大家
http://drupaltaiwan.org/module/node_privacy_byrole
http://drupaltaiwan.org/module/content_access
想詢問能不能做到控制權限讓特定的人只能檢視檔案都不能下載?
因為使用預設的權限控制只能勾選特定的人只能檢視。但是重點是能不能讓檔案能看到文件(但只是連結不能連到下載呢)
Re: 某個 檔案 給 某個 角色 下載 的 模組
對不起,有看沒懂。
您說的【使用預設的權限控制只能勾選特定的人只能檢視。但是重點是能不能讓檔案能看到文件(但只是連結不能連到下載呢)】
這樣檢視檔案的時候,我另存新檔不就是下載了嗎
Re: 某個 檔案 給 某個 角色 下載 的 模組
nobody1225大您好:
不好意思寫的很灰灰(台)
我希望未註冊的使用者無法下載檔案。
Re: 某個 檔案 給 某個 角色 下載 的 模組
這麼久沒人回應,應該是要您自己寫程式了。
抱歉囉,我也不會
Re: 某個 檔案 給 某個 角色 下載 的 模組
nodoby1225~
這個目前無模組能做到這效果~~>w<嗯~了解~~謝謝哦
Re: 某個 檔案 給 某個 角色 下載 的 模組
用套版來解決
輸出附加檔案清單的樣板
<?php
function theme_upload_attachments($files) {
$header = array(t('Attachment'), t('Size'));
$rows = array();
foreach ($files as $file) {
$file = (object)$file;
if ($file->list && !$file->remove) {
// Generate valid URL for both existing attachments and preview of new attachments (these have 'upload' in fid)
$href = file_create_url((strpos($file->fid, 'upload') === FALSE ? $file->filepath : file_create_filename($file->filename, file_create_path())));
$text = $file->description ? $file->description : $file->filename;
$rows[] = array(l($text, $href), format_size($file->filesize));
}
}
if (count($rows)) {
return theme('table', $header, $rows, array('id' => 'attachments'));
}
}
?>
貼到版型內的 template.php
然後修改為
<?php
//把 theme_ 開頭改成 phptemplate_ 開頭
function phptemplate_upload_attachments($files) {
$header = array(t('Attachment'), t('Size'));
$rows = array();
GLOBAL $user; //加上這一行先取得使用者的資料
foreach ($files as $file) {
$file = (object)$file;
if ($file->list && !$file->remove) {
//在單筆檔案輸出的部份,加上判斷使用者是否登入,登入則輸出原本的連結,沒有登入則只輸出文字
$text = $file->description ? $file->description : $file->filename;
if($user->uid){
// Generate valid URL for both existing attachments and preview of new attachments (these have 'upload' in fid)
$href = file_create_url((strpos($file->fid, 'upload') === FALSE ? $file->filepath : file_create_filename($file->filename, file_create_path())));
$rows[] = array(l($text, $href), format_size($file->filesize));
}else{
$rows[] = array($text, format_size($file->filesize));
}
}
//修改結束
}
if (count($rows)) {
return theme('table', $header, $rows, array('id' => 'attachments'));
}
}
?>
最後 記得要把訪客的下載檔案的權限打開
留給樣版檔內做判斷
(括號已經補上)
Re: 某個 檔案 給 某個 角色 下載 的 模組
if (count($rows)) {
return theme('table', $header, $rows, array('id' => 'attachments'));
}
//} (這裡也多一行括號的說)
?>
Re: 某個 檔案 給 某個 角色 下載 的 模組
謝謝hom的回覆~
>w<但是我就在自已的版型中放入一個template.php然後在點管理介面的區塊時就秀以下訊息
Parse error: syntax error, unexpected $end in C:\xxx\htdocs\mywebsite\sites\all\themes\nigraphic\template.php on line 23
然後有在自已的版型info有phptemplate但不知怎啟用~
name = 007 niGraphic Studio
description = 007 niGraphic is light-weight, 2-column, fixed width and uses CSS.
regions[left] = Left sidebar
regions[topleft] = Header Left
regions[content] = Content
features[] = name
features[] = slogan
features[] = logo
features[] = search
features[] = favicon
features[] = primary_links
stylesheets[all][] = style.css
version = VERSION
core = 6.x
engine = phptemplate
Re: 某個 檔案 給 某個 角色 下載 的 模組
sorry~ 少打一個括號
請在 //修改結束 這一行上面多插入一行 打上 }
Re: 某個 檔案 給 某個 角色 下載 的 模組
hom想詢問一下~~那麼template.php放入後~我的theme後
要去那裡找到開啟訪客的下載檔案,因為我到管理/權限中~只有看到
upload 模組的上傳檔案和檢視上傳檔案 (我就勾上傳檔案)但沒看出效果。
然後 >w<我有看手冊中的template.php主題…but~~~ =口=還是不了解
----------------------------------------------------------------------------------
還是得加裝http://drupal.org/project/downld
Protected Download (downld)模組呢? -->但這沒有六版的說~
----------------------------------------------------------------------------------
>w<謝謝~~
Re: 某個 檔案 給 某個 角色 下載 的 模組
討論串是 5.x 的
所以我是拿 5.x 版本的函式來修改
不過剛剛看到你的版本是 6.x
查了一下
兩個版本的函式程式有一點差異
下面是用 6.x 的函式修改的版本
權限的部份
檢視上傳檔案 這個權限
要把底下的 anonymous user 和 authenticated user 這兩個角色都打勾
<?php
function phptemplate_upload_attachments($files) {
$header = array(t('Attachment'), t('Size'));
$rows = array();
foreach ($files as $file) {
$file = (object)$file;
if ($file->list && empty($file->remove)) {
$text = $file->description ? $file->description : $file->filename;
if($user->uid){
// Generate valid URL for both existing attachments and preview of new attachments (these have 'upload' in fid)
//$href = file_create_url((strpos($file->fid, 'upload') === FALSE ? $file->filepath : file_create_filename($file->filename, file_create_path())));
$href = file_create_url($file->filepath);
$rows[] = array(l($text, $href), format_size($file->filesize));
}else{
$rows[] = array($text, format_size($file->filesize));
}
}
}
if (count($rows)) {
return theme('table', $header, $rows, array('id' => 'attachments'));
}
}
?>
Re: 某個 檔案 給 某個 角色 下載 的 模組
hom:
*那像我的檔案上傳是使用cck模組中的filefield中的file upload所上傳的檔案。
是不是上面的方式就沒辦法實現效果了?
-----------------------------------------------------------------------------------------------------------------------------------------------
因為要使用cck的filefield中的file upload主要是因為我建了兩種node類型的頁面(一個叫師資頁、一估叫教材上傳頁)
之後上傳了教材必須用view處理一個列出全部的教材頁面以及各別教師的所屬教材…所以就變成預設的檔案上傳就不太合適使用
----------------------------------------------------------------------------------------------------------------------------------------------------
而且哦先試drupal預設的檔案上傳…
然後再依hom您所提的方式將anonymous user 和 authenticated user打勾,之後檔案是完全看不到…(沒跑出輸出文字連結的效果)
謝謝~>w<…
Re: 某個 檔案 給 某個 角色 下載 的 模組
你應該是有裝了其他額外控制檔案下載權限的模組
全部都要打開
確定加上 phptemplate_upload_attachments 這一段程式之前
使用者都看的到檔案才行
記得加上 phptemplate_upload_attachments 這段程式後
要把版型 清除快取或重新啟用
另外
既然你有用 views 顯示檔案清單
可以嘗試 views 的套版來修改顯示
Re: 某個 檔案 給 某個 角色 下載 的 模組
hom~謝謝你的答覆~
那view的套版 >w<我一直找不到怎修改說~~就使用!因為只看到view出來呈現data…但view的套版修改…不知從何實作說~
Re: 某個 檔案 給 某個 角色 下載 的 模組
hom >w< (我快吐血了…)
我有檢查是不是有裝(額外控制檔案下載權限的模組) >w<沒有耶!!
然後有確定在template加上phptemplate_upload_attachments
就先測試預設版型中的template.php樣版!(如附加把相關程式碼加於最後)
也有清除快取或重新啟用-但檔案還是乖乖的在上面等著被下載!
若用view的方式的話 是不是在view中的檔頭資訊,那意思是說把內容輸出放入自已的theme中,
然後再把hom你的程式貼在其中之一的作法。 是這樣嘛?
謝謝
Re: 某個 檔案 給 某個 角色 下載 的 模組
試試這一段
<?php
function phptemplate_upload_attachments($files) {
$header = array(t('Attachment'), t('Size'));
$rows = array();
GLOBAL $user;
foreach ($files as $file) {
$file = (object)$file;
if ($file->list && empty($file->remove)) {
$text = $file->description ? $file->description : $file->filename;
if($user->uid){
$href = file_create_url($file->filepath);
$rows[] = array(l($text, $href), format_size($file->filesize));
}else{
$rows[] = array($text, format_size($file->filesize));
}
}
}
if (count($rows)) {
return theme('table', $header, $rows, array('id' => 'attachments'));
}
}
?>
Re: 某個 檔案 給 某個 角色 下載 的 模組
hom (orz跪…)
我試不出效果說!覺得很對不起hom你…>w<…(你都教很多方式了)
會不會是因為我使用了filefield模組來當作上傳檔案的因素呢?
但覺得又不是這問題>w<…(orz)
hom你用的是content_types的node_attachmets.inc的upload_attachments (這是不是就是系統預設的上傳函式?)
但找filefield了模組中關於upload
找到field_file_save_upload (這是不是就是使用filefield的上傳函式?)
謝謝>w<
Re: 某個 檔案 給 某個 角色 下載 的 模組
跟上傳函式應該沒什麼關係
主要是輸出檔案列表的函式
可能要找一下 filefield 裡面
是不是有 theme function 或是 hook_nodeapi 之類的
可能它不是套用核心的 upload 模組的檔案清單樣板
Re: 某個 檔案 給 某個 角色 下載 的 模組
hom:
我從filefield裡面搜尋相關theme function相關字,>w<有耶…它好像不是套用套用核心的 upload 模組的檔案清單樣板說。
但是hom問你哦!>w<那我要怎改起呢?謝謝
Re: 某個 檔案 給 某個 角色 下載 的 模組
大家好
我發現一個好玩的事
管理=>網站設定=>檔案系統=>下載模式:
1. 公開—可以用 HTTP 直接下載檔案。
2. 隱藏—檔案的傳送方式是由 Drupal 所控制。
這兩個有什麼不一樣呢?
請大家告訴我有什麼後遺症吧
因為我選 2 隱藏的話
我就不用在抓其他模組直接使用內建的Upload模組
即可實現【某個 檔案 給 某個 角色 下載】
還可以達成"腦細胞逐漸死亡"所要求的
http://drupaltaiwan.org/forum/20081205/2830#comment-9891
謝謝大家
Re: 某個 檔案 給 某個 角色 下載 的 模組
nobody1225~
>w<真的滿好玩~~=_=這樣的方式也一樣哦…
用 HTTP 直接下載檔案是不是指 (透過使用者頻寬來下)?
而檔案的傳送方式是由 Drupal 所控制 (是經由佔我們自已架的頻寬) ?