Ciao a tutti,
Ho inserito questo Post anche nella sezione Flash ActionScript... ma penso proprio che l'errore dipenda dal codice PHP che ho scritto...
Devo inviare un array bidimensionale ad un file PHP che salva questi valori in un file TXT.
Si tratta di una mappa 250x250 che devo salvare su un file TXT
Con Flash ho scritto:
codice:
var invia = new LoadVars();
invia.m = new Array();
for (var x = 1; x<=griglia.spacings; ++x) {
invia.m[x-1] = new Array();
for (var y = 1; y<=griglia.spacings; ++y) {
invia.m[x-1][y-1] = matrice[x-1][y-1];
}
}
invia.nCelle = griglia.spacings;
_root.numeroCelle = invia.nCelle;
_root.matrice2 = invia.m[0][0];
// mi creo anche la variabile di ritorno eventuale di codice
var ricevuto = new LoadVars();
//gestione della risposta inviata dal file scrivi.php
ricevuto.onLoad = function(success) {
_root.ok = ricevuto.toString();
}
// ora invio e ricevo le variabili
invia.sendAndLoad(url, ricevuto);
Nel file PHP il codice è:
$m è l'array da flash e $nCelle il numero di righe e colonne
codice:
<?
$matrice = array();
$matrice = $m;
$n = $nCelle;
$riga = "";
$nomeFile = "lab1.txt";
for ($i=0; $i < $n; $i++) {
for ($j=0; $j < $n; $j++) {
//scrive il file ma nn inserisce i valore della variabile $val!!!
$val = $matrice[$i][$j];
$riga .= "cella_".$i."_".$j."=".$val."&";
}
$fp = @fopen("$nomeFile","a");
if (!($fp)) {
exit;
}
fputs($fp, "$riga\n");
fclose($fp);
$riga = "";
$riga = "&";
}
?>
Il risultato è un file di testo che effettivamente ha 250 x 250 elementi; gli a capo li inserisce quando voglio... ma nn mi scrive il valore che è contenuto nell'array
risultato TXT:
cella_0_0=&cella_0_1=&cella_0_2=&cella_0_3=&.....
Dopo l'uguale dovrebbe esserci il valore
Non essendo un esperto di PHP penso di avere sbagliato qualcosa nel trattare l'array in arrivo da Flash, oppure che Flash nn invia così automaticamente un array di quelle dimensioni
Grazie