-
Prob. foreach( glob())
salve a tutti sto cercando di installare uno script demo.. per testarlo e valutare se acquistarlo. ma al momento dell'accesso nella sezione admin mi da questo errore...
Codice:
Warning: Invalid argument supplied for foreach() in /membri/bannersbrokermania/config.php on line 22
Please login at http://bannersbrokermania.altervista.org
a deta linea di dato file ce questa funzione.
Codice PHP:
foreach( glob("plugins/*/index.php") as $plugin)
{
require_once($plugin);
}
-
se leggi il manuale la funzione glob restituisce un array dei file o delle cartelle specificate nel percorso, se non trova file o cartelle l'array è vuoto, oppure restituisce False in caso di errore....
il codice cerca i file index.php nelle sottocartelle della cartella plugins e con require_once include i file trovati...
ora o il percorso specificato è invalido e ti restituisce quell'errore, quindi controllare che effettivamente ci siano i file index.php nelle sottocartelle della cartella plugins...
proverei anche ad attivare il php5.2
-
Sto controllando e devo dire che tutte le cartelle nella cartella plug-in hanno un file index. l'unico che non lo ha è la cartella plugin stessa.
io ho attivato php 5.3 o 5.2.3 mi sfugge la versione.. comunque la più aggiornata che si possa scegliere qui su altervista.
prova a creare un file index.php a caso nella cartella plug in e poi vi fo sapere
-
in teoria non centra inserire una index nella cartella plugins, in quanto il percorso specificato per il glob cerca nelle sottocartelle...
sembra che non sia valido o non accetti il percorso specificato --> plugins/*/index.php
potresti provare a fare così, per vedere se ti da ancora l'errore:
Codice PHP:
foreach (glob("plugins/*/*.php") as $plugin)
{
if (substr_count($plugin,'index.php')) require_once($plugin);
}
-
Sbagli ad usare il parametro della funzione glob.
Prova qualcosa tipo
Codice PHP:
foreach( glob("plugins/*", GLOB_ONLYDIR) as $path )
{
if( file_exists($path . '/index.php') )
{
require_once($plugin);
}
}
-
ho fatto alcune prove sulla funzione glob, perchè bisogna sempre prima provare...
sul mio host con diversi argomenti o percorsi per il glob e funziona sempre sia per es. con
glob("search/*/index.php")
glob("search/*/*.php")
glob("search/*/*.*")
codice di test:
Codice PHP:
foreach (glob("search/*/index.php") as $plugin)
{
print '<p>'.$plugin.'</p>';
}
stampa:
search/canvas/index.php
search/chat2/index.php
search/response/index.php
pagina di test --> http://eurosalute.altervista.org/prova_glob.php
ciao