Я хотел бы ответить на вопрос Ранее я задавал вопрос, на который все еще не могу ответить.
Подводя итог, цель для www.mysite.com/uploads
состоит в том, чтобы иметь "загрузки""double как и php-контроллер, и каталог.
Ответ пользователя" anonymous "на написание какой-либо аутентификации в конструкторе контроллера" uploads "- это то, что я пытался сделать, но он пока не работаетдля меня.
Я возвращаю информацию о каждом контенте, включая его каталог src=""
, через контроллер с именем "content":
/content/account_id# (e.g., 3)/item_id# ((e.g., 2)
В файле вида www.mysite.com/content/3/2
мне нравитсявоспроизводить контент, например, видеофайл, через атрибут src
вышеупомянутого видеотега.В этом случае src="/uploads/3/2/my_video.m4v"
.
Вот мой код контроллера загрузок:
class Uploads extends CI_Controller {
function Uploads()
{
parent::__construct();
$account_id= $this->session->userdata('account_id'); // =3 in this example
$item_id=$this->uri->segment('3'); // =2 in this example
$this->db->select('*');
$this->db->from('items');
$this->db->where('account_id, $account_id)->where('item_id, $item_id);
$query=$this->db->get();
if(empty($query){ return false; }
else { return true; }
}
}
Как вы можете видеть из запроса таблицы "items", я стремлюсь к сценариюгде, если данному account_id не принадлежит данный item_id, они не получают доступ к указанному подкаталогу «uploads».
Однако этот код явно ничего не делает, потому что если кто-то, не только пользователь с account_id = 3, переходит на www.mysite.com/uploads/3/2/my_video.m4v
, они все еще могут получить доступ к этому видео (оно загружается с помощью Firefox, Safari и воспроизводится непосредственно Chrome).
Будем очень благодарны за любые мысли!