i valori sono giusti:
Codice PHP:
            if ($_POST['titolo'] != $_GET['ti']) {
                
renameDir($_GET['ti'], $_POST['titolo']);
                echo 
'$_GET: ' $_GET['ti'] . '
'
;
                echo 
'$_POST: ' $_POST['titolo'] . '
'
;
            }
......................
function 
renameDir($nome_old$nome_new) {
    
$dir '../img_articoli/';
    if (
file_exists($dir $nome_old)) {
        echo 
'old: ' $nome_old '
'
;
        echo 
'new: ' $nome_new'
'
;
//        rename($dir . $nome_old, $dir . $nome_new);
    
}

questo il risultato:
codice:
old: 151 miglia
new: 151 migli
$_GET: 151 miglia
$_POST: 151 migli
old è uguale a GET (cioà al valore passato al form di modifica).
new è uguale a POST (cioè al nuovo valore immesso nel titolo).
direi che fin qua tutto bene.
quindi:
Codice PHP:
function renameDir($nome_old$nome_new) {
    
$dir '../img_articoli/';
    if (
file_exists($dir $nome_old)) {
        echo 
'old: ' $dir $nome_old '
'
;
        echo 
'new: ' $dir $nome_new '
'
;
//        rename($dir . $nome_old, $dir . $nome_new);
    
}

stampo il percorso completo delle directory:
codice:
old: ../img_articoli/151 miglia
new: ../img_articoli/151 migli
il percorso è giusto.
dentro la root del sito ci sta la directory admin e img_articoli.
io agisco da dentro admin, quindi devo passare al livello sopra e poi entrare dentro img_articoli.
../img_articoli/151 miglia.
la dir c'è.