Domanda

Vorrei collegarmi ad alcuni PDF in una delle viste del mio controller. Qual è la migliore pratica per raggiungere questo obiettivo? La cartella webroot di CakePHP contiene una sottocartella ./files/, sono confuso cercando di collegarmi ad essa senza usare " magic " percorsi nel mio href (ad es. " /path/to/my/webroot/files/myfile.pdf").

Quali sono le mie opzioni?

EDIT: non ho descritto adeguatamente la mia domanda. Stavo tentando di collegarmi ai file in / app / webroot / files / in modo indipendente dalla piattaforma (cioè senza mod_rewrite ).

Da allora ho risolto questo problema archiviando tali file al di fuori della struttura delle directory di CakePHP.

È stato utile?

Soluzione

$html->link('Pdf', '/files/myfile.pdf');

Altri suggerimenti

Questo è in qualche modo tangenziale, ma per accedere a tale posizione in Modelli e altri luoghi puoi semplicemente farlo:

$file = WWW_ROOT . DS . 'files' . DS;

Questa tattica potrebbe essere utile a qualcuno che accede ai file per il caricamento di dati statici, come XML o JSON.

Questo non è raccomandato per il consumo pubblico o il collegamento pubblico.

Posso confermare che questo è un problema quando mod_rewrite non viene utilizzato.

<?php echo $html->link('pdf', '/files/test.pdf'); ?>

uscite

<a href="/pathtoapp/index.php/files/test.pdf">pdf</a>

dovrebbe essere in uscita

<a href="/pathtoapp/app/webroot/files/test.pdf">pdf</a>

Questo dovrebbe funzionare

<?php echo $html->link('pdf', $this->webroot('files'.DS.'test.pdf'); ?>

Non sono sicuro di aver capito correttamente la domanda, ma qui va. Fondamentalmente qualsiasi file che inserisci nella cartella webroot sarà accessibile sul server web, quindi se metti il ??file in webroot / files / file.pdf collegheresti semplicemente a /files/file.pdf.

Se non funziona, chiarisci la tua domanda ...

o ..

<a href="<?php echo $this->webroot; ?>files/somefile.pdf">Link Text</a>

:)

o ...

<a href="<?php echo $html->url('/files/somefile.pdf'); ?>">Link Text</a>
       <a href="<?php echo $this->request->webroot . 'carpetadentrodelwebroot/archivo.pdf'; ?>" target="pdf-frame" download="nombreParaDescarga">Descargar Archivo</a>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top