La domanda era per capire questa strana situazione.
Ho un codice di questo tipo (posto solo l'essenziale):
Codice PHP:
if ($_POST[spedizione]=="css") {
$costo_spedizione=17.00;
} else if ($_POST[spedizione]=="cor") {
$costo_spedizione=7.00;
} else if ($_POST[spedizione]=="sede") {
$costo_spedizione=0;
} else if ($_POST[spedizione]=="poste") {
$costo_spedizione=3;
}
$spesa_totale = $_POST[totale] + $costo_spedizione;
........
......
$sql_cartella = "SELECT * FROM ordini WHERE ordini.id_ordine='$_POST[id_ordine]'";
$result_cartella = mysql_query($sql_cartella);
$myrow_cartella = mysql_fetch_array($result_cartella);
$cartella_old = $myrow_cartella[cartella];
$cartella_new = $cartella_old."_".$spesa_totale;
$vecchia = "c:\\wwwroot\\xxx\\ordini\\".$cartella_old;
$nuova = "c:\\wwwroot\\xxx\\ordini\\".$cartella_new;
rename("c:\\wwwroot\\xxx\\ordini\\".$cartella_old, "c:\\wwwroot\\xxx\\ordini\\".$cartella_new) or die ("Non ho potuto rinominare la cartella");
la stranezza è che a meno che $_POST[spedizione] valga "poste", in tutti gli altri casi la cartella mi viene rinominata due volte, cioè se $cartella_old vale stefania e $spesa_totale vale 20 mi ritrovo:
se $_POST[spedizione] vale "poste" $cartella_new vale stefania_20
se $_POST[spedizione] vale gli altri valori escluso "poste" $cartella_new vale stefania_20_20
sembra che la funzione rename si esegua due volte. Sapete dirmi dove sta l'errore? Grazie
P.S. Occhio che il tag [php] si è mangiato qualche \\ che comunque io ho inserito nel codice reale. Se vi servono altre spiegazioni chiedete pure