Pagina 1 di 1
piccolo problema con codice php...
Inviato: 15/10/2015, 13:18
da pollat
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?
Codice: Seleziona tutto
<?php
// nome della variabile
$nomecartella=foto-mare;
class Elenco {
private static $root = '../../documenti/$nomecartella/';
public static $config = array(
'paths' => array(
'url' => '../../documenti/$nomecartella/',
),
);
}
?>
Re: piccolo problema con codice php...
Inviato: 15/10/2015, 16:01
da pollat
provo a pubblicare l'intero codice così forse è più chiaro:
Codice: Seleziona tutto
<?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: piccolo problema con codice php...
Inviato: 15/10/2015, 18:24
da Micogian
Il valore della variabile devi metterlo tra virgolette:
Re: piccolo problema con codice php...
Inviato: 15/10/2015, 20:25
da pollat
no non va il problema è che devo inserire quella variabile dentro una classe e non so bene come fare...
Re: piccolo problema con codice php...
Inviato: 17/10/2015, 15:17
da Sir Xiradorn
Allora una correzione a volo e vediamo di risolvere un primo problema. Quando scrivi questo
Codice: Seleziona tutto
private static $root = '../../dcumenti/$nomecartella';
Non prenderà MAI quel nome a meno che tu non faccia una cosa del tipo
Codice: Seleziona tutto
private static $root = "../../dcumenti/$nomecartella";
Quindi non ' ... ' ma " ... "
Re: piccolo problema con codice php...
Inviato: 18/10/2015, 12:32
da pollat
Si queste soluzioni le ho provate tutte ma come dicevo sopra il problema è che devo inserire quella variabile dentro una classe e non so bene come fare...
Re: piccolo problema con codice php...
Inviato: 18/10/2015, 17:52
da Sir Xiradorn
Beh basta inserirla. Poi dipenda da cosa devi inserire, quando devi farlo, e poi: devi farlo dinamicamente? Staticamente? Deve essere una costante?. Una variabile in una classe si mette in questo modo (ammettendo sia pubblica)
Se vuoi usare una variabile definendola come globale devi fare qualcosa del tipo seguente...un po come phpbb fa delle sue variabili nelle vecchie mod (per le estensioni siamo la ma il discorso cambia un po)
Codice: Seleziona tutto
/**
* Classe di esempio
*/
$nomecartella = "foto-mare";
class Elenco {
private static $root = "";
public static $config = "";
public function __construct() {
global $nomecartella;
self::$root = "../../documenti/$nomecartella/";
self::$config = array(
'paths' => array(
'url' => self::$root, // "../../documenti/$nomecartella/"
),
);
}
}