Problema correzione codice...

di il
3 risposte

Problema correzione codice...

Ho questo codice che non prende la variabile che inserisco all'inizio, cosa c'è che non va e come faccio a fargli prendere la variabile nei due nomi di url sotto?

<?php

  // nome della variabile
  $nomecartella=foto-mare;

class Elenco {

  private static $root =  '../../documenti/$nomecartella/';

  public static $config = array(
         'paths' => array(
           'url'   => '../../documenti/$nomecartella/',
         ),
   );
}

?>

3 Risposte

  • Re: Problema correzione codice...

    Provo a pubblicare l'intero codice così forse è più chiaro:
    
    <?php
    
    
    // nome della cartella associata
    $nomecartella=foto-mare;
    
    
    
    
    # Elenco è una classe statica ed auto-contenuta, che elenca i file
    # presenti in una directory, applicando loro una serie di regole per
    # assegnare tipi o nascondere file.
    
    
    
    
    define ('ELENCO_VERSION', '0.3');
    
    
    // -- Inizializzazione e classe --
    // error_reporting(E_ALL | E_STRICT); // mostra tutti gli errori
    Elenco::auto();
    class Elenco {
      // $root è la directory da cui EN comincia a visualizzare file
      // E' possibile scendere in sottodirectory, ma non risalire oltre
      // la directory $root; il default è la directory corrente
      
      
      private static $root   = '../../dcumenti/$nomecartella';
      
    
    
    
    
      // $path è la sottodirectory di $root da visualizzare
      private static $path   = '';
    
    
      // $here è la directory in cui si trovano gli altri file di EN
      // (icone, template, configurazione)
      // La directory di default è elenco/, ma viene inizializzata
      // automaticamente chiamando ::init()
      private static $here   = '';
    
    
      // $files è l'array che contiente l'elenco dei file, una volta
      // riempita da ::listFiles()
      public static $files  = array();
    
    
      // $totals mantiene i totali relativi all'elenco dei file
      public static $totals = array(
           'directories' => 0,
           'files'       => 0,
           'bytes'       => 0,
          );
    
    
      // array di configurazione, per i singoli valori vedere default.ini
      public static $config = array(
    
    
       'options' => array(
         'directories-show'     => true,
         'directories-first'    => true,
         'directory-up'         => true,
         'sort-by'              => false,
         'sort-reverse'         => false,
         'template'             => 'mobile'
       ),
    
    
       'paths' => array(
         'files'                => '',
         'url'                  => '../../documenti/$nomecartella/',
         'icons'                => '../icons/',
         'get-param'            => 'path',
       ),
      );
     
    }
       ?>
    


    Il problema come detto sopra è che non prende le variabili "$nomecartella"di linea 23 e 61.
  • Re: Problema correzione codice...

    Guarda foto-mare.
  • Re: Problema correzione codice...

    I problemi sono 2:
    1) scoping, la variabile $nomecartella l'hai dichiarata all'esterno della classe, quindi non può essere vista all'interno a meno che tu non faccia in modo di "infilarcela", hai vari modi per farlo, dal passarla durante l'inizializzazione, al "globalizzarla" al convertirla in una costante,
    2) gli apici singoli non permettono di fare quello che stai cercando di fare tu con le variabili, dovresti usare gli apici doppi.
Devi accedere o registrarti per scrivere nel forum
3 risposte