script vecchio .. farlo funzionare su 5.3

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
43
Massa, Italy
Salve, sto riffacendo uno script vecchio che avevo in un vecchio sito mai messo online.. solo che mi interessa farlo funzionare..
vi posto il codice:
PHP:
# inserisce i blocchi di sinistra o destra.
function create_blocks($edge){

$handle=opendir('blocks/'.$edge);

while ($file = readdir($handle)) {
	if (!is_dir("blocks/$edge/$file") and (!ereg("^\.",$file))) {
		$modlist .= "$file ";
	}
}
closedir($handle);

$modlist = explode(" ", $modlist);
sort($modlist);
for ($i=1; $i < sizeof($modlist); $i++) {


$tmp=eregi_replace("^[0-9][0-9]_","",$modlist[$i]);
	
	include ("blocks/$edge/$modlist[$i]");
	
echo "<br>";
}


}

mi da seguenti funzioni vecchie:
Deprecated: Function ereg() is deprecated in D:\xampp\htdocs\3\includes\funzioni_php.php on line 9

Notice: Undefined variable: modlist in D:\xampp\htdocs\3\includes\funzioni_php.php on line 10

Deprecated: Function ereg() is deprecated in D:\xampp\htdocs\3\includes\funzioni_php.php on line 9

Deprecated: Function ereg() is deprecated in D:\xampp\htdocs\3\includes\funzioni_php.php on line 9

Deprecated: Function eregi_replace() is deprecated in D:\xampp\htdocs\3\includes\funzioni_php.php on line 20

Mi potete aiutarmi grazie mille.?
come faccio ad farlo funzionare su php 3.5?
grazie..

aspetto vostre risposte..

buona giornata.
 
In PHP "moderno" la funzione potrebbe essere riscritta così:
PHP:
<?php
function create_blocks($edge)
{ 
    $modlist = glob("blocks/{$edge}/*");
    
    foreach ($modlist as $mod) {
        if (!is_file($mod) || in_array($mod, array('.', '..'))) {
            continue;
        }
        
        $tmp = preg_replace('/[0-9]_/', '', $mod);
        require_once $mod;
        
        echo "<br />";
    }
}
?>
L'unica cosa su cui non sono sicuro è l'espressione regolare, ma mi sembra che la variabile $tmp non venga usata da nessuna parte. Forse nel file incluso?

Fammi sapere.
 
ti ringrazio moltissimo la tua conversione funziona bene...

per l'tmp.. non saprei perché era codice scritto con i piedi..... Perché anni fa non sapevo nulla di php..e faccevo copia/incolla sul codice che trovavo in rete.


ti ringrazio molto..

buon giornata.
 
ha ha, ho capito (forse), cosa faceva più/meno
includeva in ordine i file..ad esempio
la cartella:
blocks/dx:
01_menu.php
02_archivio.php
03_tag.php

etc..
e li includeva in ordine..

però cosi la tua modifica funziona come quella vecchia..

ti ringrazio molto.
buona serata.
 

Discussioni simili