pagine php in cartelle diverse

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Sera, sto cercando di capire come poter richiamare da un menù le mie pagine del sito mettendo ogni pagina in php nella relativa cartella. Mi spiego meglio, nella cartella giochi vorrei mettere la pagina giochi.php e dal menù richiamarla. Il problema che incontro è che alcune pagine sono in carelle altre invece sono nella root del sito. Come posso fare? Sarà magari una domanda stupida ma non ne vengo fuori.
 
Ciao il menù è statico con effetto tendina al passaggio del mouse. Dato che ogni pagina ha un nome diverso ovviamente vorrei creare delle cartelle con all'interno sia la pagina dell'argomento sia i suoi elementi come.foto e video. Premetto che la testata con le voci menù sono aggiunte con un include da un file esterno. E quindi a secondo di dove si trova l'utente se io seleziono una voce del menù mi trovo in una cartella diversa dalla root perciò il.percorso che ho impostato non è più valido. Spero di essere stato poi chiaro.
 
nei miei siti, i link li metto in un'array
PHP:
'13'	=> 'menu/1c_ReferenceTableMaintenance.php',
'login'	=> 'Mngmts/Login.php',
'comp'	=> 'Mngmts/COMP.php',
'Rcomp'	=> 'Reports/COMP_comp.php',
'Rcosti'	=> 'Reports/COMP_costi.php',
'winclose'	=> 'forms/windows_close.php',
'imprint'	=> 'utils/imprint.php',
in modo da avere una struttura ordinata, link che funzionano sempre e quando voglio cambiare, it's quite simple ...
ciao
Marino
 
ciao
relativamente a tenere le cose ordinate marino non ha una, ma cento ragioni, ma forse da quanto capito il problema non è quello.
cerco di spiegare quello che ho capito
1) un unico file chiamato es menu.php che potrà essere incluso in varie pagine
2) le pagine in cui viene incluso sono/possono essere in cartelle diverse, così le pagine chiamate

se è così il percorso relativo non può probabilmente essere univoco, quindi forse il sistema migliore è dare il percorso assoluto es.
http://www.mio_sito.pal/cartella/file.php
 
Ok ho capito quindi percorso assoluto. Anche se però il sistema di marino mi piace di più solo che non so da dove iniziare. Come fare a creare un array con i link alle pagine in cartelle diverse.
 
anche creare l'array é facile, per completezza, io ho agito così,

ho creato una funzione a cui passo il "nick" dello script che voglio richiamare (includere e/o eseguire)
poi all'interno ho messo pochissima logica ma nel mio caso necessaria (eseguo anche dei vbs)
ti riporto l'esempio al minimo,

PHP:
<?php
function NS($key) {
  if ($key === 'OTTIMIZZA')
    return '......vbs.bat';

    $ws = "parte costante dell'indirizzo";

    $NSarray = array(
      '0'	=> 'menu/0_MainMenu.php',
      '13'	=> 'menu/1c_ReferenceTableMaintenance.php',

      'login'		=> 'Mngmts/Login.php',
      'comp'		=> 'Mngmts/COMP.php',

      'Rcomp'	=> 'Reports/COMP_comp.php',
      'Rcosti'	=> 'Reports/COMP_costi.php',

      'winclose'	=> 'forms/windows_close.php',

      'imprint'	=> 'utils/imprint.php',

      'end'		=> 'end'
    );
  }
  return $ws.(!empty($NSarray[$key]) ? $NSarray[$key] : $NSarray['0']); 
}
?>
ovvio che questo script deve essere incluso con indirizzo assoluto
mentre tutti gli altri li puoi chiamare con il loro "nick"
per esempio COMP.php lo richiamo con NS('comp')
questa logica mi permette di usare folder diversi facendo funzionare tutto e
se domani volessi cambiare la struttura dei folder, nulla di più facile ....
con l'aggiornamento dello script soprastante, tutto funziona regolarmente
ciao
Marino
 
scusa, tagliando il codice, mi è rimasta una graffa in più ...
PHP:
      'end'        => 'end'
    );
  return $ws.(!empty($NSarray[$key]) ? $NSarray[$key] : $NSarray['0']); 
}
?>
 

Discussioni simili