2014-05-18 16 views
6

Nella mia applicazione, per spostare un file in una directory specifica ho bisogno di conoscere il percorso della cartella pubblica nell'azione del controller. Ho letto diverse soluzioni di questo tipo, ma non è stato facile. So che in vista possiamo ottenere facilmente il percorso della cartella pubblica usando l'helper vista $this->basePath();. Lo voglio esattamente nell'azione del controller. Chiunque può guidarmi come posso ottenerlo. Grazie in anticipo.Zend 2 :: ottenere facilmente il percorso della cartella pubblica o basePath() nell'azione del controller

risposta

12

index.php imposta la directory di lavoro corrente a voi radice dell'applicazione (la cartella che contiene composer.json, init_autoloader.php, etc.)

Finché non hai chiamato chdir altrove nell'applicazione è possibile chiamare getcwd() e sarà restituisci sempre il percorso alla tua radice dell'app.

Dal momento che la cartella pubblica è relativa a ciò, è possibile ottenere il percorso utilizzando ...

$publicDir = getcwd() . '/public'; 
0

Si potrebbe utilizzare vista aiutanti dall'interno di un controllore in ZF2 come mostrato here e here. Puoi provare questo per il tuo caso:

$renderer = $this->serviceLocator->get('Zend\View\Renderer\RendererInterface'); 
$url = $renderer->basePath('the_ressource_you_want_to_get_from_public_folder'); 

Spero che questo è quello che stai cercando!

2

Nella tua modifica delle cartelle pubbliche il file chiamato index.php aggiungere solo due righe

define('BASE_PATH', realpath(dirname(__DIR__))); 
define('PUBLIC_PATH', BASE_PATH.'/public'); 

è possibile utilizzare nel codice come

print_r(BASE_PATH); 
print_r(PUBLIC_PATH); 
0

Se si desidera includere un file da pubblico cartella (indipendenza con la posizione del file index.php): include_one ("./public/your-file.php");

0

Si dovrebbe provare questo se si desidera che la cartella pubblica:

$publicPath = $_SERVER['DOCUMENT_ROOT']; 

Oppure provare questo se si desidera che il BasePath:

$basePath = dirname($_SERVER['DOCUMENT_ROOT']); 
Problemi correlati