C'est RÉSOLUT cf dernier post!
Bien le bonjour a tous,
Je suis en train de développer un script ftp complet et autonome et je coince sur un truc a la con, je m'explique :
J'appel en CURL ftp_rawlist et met progressivement à jour un fichier.
Je récupère donc et parse de manière récursive le contenus d'un répertoire vers un tableau php classique pour le moment ainsi :
Vous l'aurez deviné en voyant ce bout de code, je souhaite mettre $t[3] dans $t[1]['path']
et je n'ai a ma disposition qu'un élément d'identification : $t[3]['dir']... et qui correspond logiquement a $t[1]['dir'].'/'.$t[1]['name']
Du coup je me suis aventuré a faire une boucle récursive pour mettre a jour le tout, et c'est là que je coince... impossible!!
Bon je suis parfaitement capable de le faire avec un xml avec la fonction xpath et ensuite reconvertir l'xml en un tableau php... mais c'est un peu con de tourner à gauche pour revenir à droite non???
j'ai bien tenté de le faire avec eval mais je ne l'utilise jamais et la fonction ne veux rien savoir :
avec une fonction basique de recherche j'ai dégoté les id cible pour ensuite générer ceci :
Une idée???
Bon je suis complétement naze et ceci explique surement cela, m'enfin !!!
d’ailleurs une question subsidiaire : php et c++ ont bien la même façons de fonctionner sur certains aspect... : ???
on est dac le & est un pointeur dans ce contexte??
Donc ni une ni deux, dans ma fonction de recherche récursive je stocke le pointeur dans une variable globale pour ensuite me permettre de maj mon tableau en externe...
Ben figurez vous que : impossible également....
je réussit bien a récupérer l'étiquette de ma cible $t[1]['path'] dans la variable globale, et donc le contenus et les propriétés. un var_dump me le prouve bien.
Et quant je met a jour la variable globale pointant vers $t[1]['path'], pas de soucis ça prend bien la chose. (et écrase mon pointeur?)(un var_dump sur la var globale le prouve encore)
yes!! un var_dump sur le tableau mère $t???
mais là le tableau mère reste comme a l'origine, inchangé!!!
Modifié par bolchevian (09 Jan 2014 - 07:10)
Bien le bonjour a tous,
Je suis en train de développer un script ftp complet et autonome et je coince sur un truc a la con, je m'explique :
J'appel en CURL ftp_rawlist et met progressivement à jour un fichier.
Je récupère donc et parse de manière récursive le contenus d'un répertoire vers un tableau php classique pour le moment ainsi :
$t = array (
0 => array([i]// un répertoire [/i]
'type' => 'dir',[i]//=> type d’élément répertoire/image...[/i]
'dir' => 'a',//=> chemin du répertoire
'name' => 'mondossier',//=> nom du répertoire
'path' => array()//=>[i]contenus du répertoire...[/i]
)
1 => array([i]// un fichier simple ici[/i]
'type' => 'file',
'dir' => 'a',
'name' => 'mon_fichier.jpeg',
)
2 => array([b]// un autre répertoire ici MAIS je le veux dans le contenus 'path' du premier repertoire[/b]
'type' => 'dir',
'dir' => 'a/mondossier',
'name' => 'mondossier2',
'path' => array(...)
)
)
Vous l'aurez deviné en voyant ce bout de code, je souhaite mettre $t[3] dans $t[1]['path']
et je n'ai a ma disposition qu'un élément d'identification : $t[3]['dir']... et qui correspond logiquement a $t[1]['dir'].'/'.$t[1]['name']
Du coup je me suis aventuré a faire une boucle récursive pour mettre a jour le tout, et c'est là que je coince... impossible!!
Bon je suis parfaitement capable de le faire avec un xml avec la fonction xpath et ensuite reconvertir l'xml en un tableau php... mais c'est un peu con de tourner à gauche pour revenir à droite non???
j'ai bien tenté de le faire avec eval mais je ne l'utilise jamais et la fonction ne veux rien savoir :
avec une fonction basique de recherche j'ai dégoté les id cible pour ensuite générer ceci :
$ids=array('0');
$e = "$t";// et pareil si je met $e = '$t';
foreach($ids as $i) $e.="[$i]['path']";
$e.=";";
eval($e);
var_dump($e) // => retourne : Array[0]['path']; avec un jolis warning...
Une idée???
Bon je suis complétement naze et ceci explique surement cela, m'enfin !!!
d’ailleurs une question subsidiaire : php et c++ ont bien la même façons de fonctionner sur certains aspect... : ???
$a=3;
$b=&$a;
echo $b;// retourne 3
$b = 8;
echo $a;//retourne 8
on est dac le & est un pointeur dans ce contexte??
Donc ni une ni deux, dans ma fonction de recherche récursive je stocke le pointeur dans une variable globale pour ensuite me permettre de maj mon tableau en externe...
Ben figurez vous que : impossible également....
je réussit bien a récupérer l'étiquette de ma cible $t[1]['path'] dans la variable globale, et donc le contenus et les propriétés. un var_dump me le prouve bien.
Et quant je met a jour la variable globale pointant vers $t[1]['path'], pas de soucis ça prend bien la chose. (et écrase mon pointeur?)(un var_dump sur la var globale le prouve encore)
yes!! un var_dump sur le tableau mère $t???
mais là le tableau mère reste comme a l'origine, inchangé!!!
Modifié par bolchevian (09 Jan 2014 - 07:10)