Hi I did what was suggested in the above post and now this is my
download function:
function download ($slug = null)
{
$this->view = 'Media';
$params = array(
'id' => 'example.zip,
'name' => 'example',
'download' => true,
'extension' => 'zip',
'path' => APP . 'gamefiles' . DS);
$this->set($params);
}
I have three more links on whose click 3 different files should be
downloded using this very download function, how should I make use of
this slug to download different files. Should it be this: ???
function download ($slug = null)
{
$this->view = 'Media';
$params = array(
'id' => $slug,
'name' => 'example',
'download' => true,
'extension' => 'zip',
'path' => APP . 'gamefiles' . DS);
$this->set($params);
}
On Feb 1, 7:13 pm, cricket <[email protected]> wrote:
> On Tue, Feb 1, 2011 at 9:57 PM, newguy <[email protected]> wrote:
> > Hi
> > I want to download four different files through 4 different links, I
> > am using Media View to download file but I have to hardcode the file
> > name in the download function in controller:
>
> > function download () {
> > $this->view = 'Media';
> > $params = array(
> > 'id' => 'example.zip',
> > 'name' => 'example',
> > 'download' => true,
> > 'extension' => 'zip',
> > 'path' => APP . 'files' . DS
> > );
> > $this->set($params);
> > }
>
> > This works fine for one file, now for link number 2,3,4 do I need to
> > create 3 different actions and give different file names in them or is
> > there a way in which I can use download() only and depending on which
> > link has been clicked respective file is downloaded.
>
> Just pass the file name or slug in the link. I use the latter, where
> each downloadable file has a title and slug:
>
> Router::connect(
> '/downloads/:slug',
> array(
> 'controller' => 'files',
> 'action' => 'download'
> ),
> array(
> 'slug' => '[-0-9a-z]+',
> 'pass' => array('slug')
> )
> );
>
> public function download($slug = null) { ... }
>
> Or you could pass the record ID:
>
> Router::connect(
> '/downloads/:id',
> array(
> 'controller' => 'files',
> 'action' => 'download'
> ),
> array(
> 'id' => '[0-9]+',
> 'pass' => array('id')
> )
> );
>
> public function download($id = null) { ... }
--
Our newest site for the community: CakePHP Video Tutorials
http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others
with their CakePHP related questions.
To unsubscribe from this group, send email to
[email protected] For more options, visit this group at
http://groups.google.com/group/cake-php