Je suis en train de créer un script qui va ouvrir un fichier texte enregistré, exporter le contenu dans un tableau, puis vider le contenu dans une base de données. Jusqu'à présent, j'ai été en mesure de faire fonctionner le téléchargement de fichiers tout à fait heureusement et peut également ouvrir ledit fichier. Le problème que j'ai est le contenu du fichier est variable, ils ont une structure fixe, mais le contenu va changer à chaque fois. La structure du fichier est que chaque "section" est séparée par une ligne vide.fonction php pour diviser un tableau à chaque ligne vide?
J'ai utilisé le fichier php() pour obtenir un tableau ... Je ne suis pas sûr s'il existe un moyen de diviser ce tableau à chaque fois qu'il rencontre une ligne vide?
$file = $target_path;
$data = file($file) or die('Could not read file!');
sortie Exemple:
[0] => domain.com
[1] => # Files to be checked
[2] => /www/06.php
[3] => /www/08.php
[4] =>
[5] => domain2.com
[6] => # Files to be checked
[7] => /cgi-bin/cache.txt
[8] => /cgi-bin/log.txt
[9] =>
[10] => domain3.com
[11] => # Files to be checked
[12] => /www/Content.js
[13] =>
Je sais que le terrain 0 et 1 seront constantes, ils seront toujours un nom de domaine, cette ligne de hachage. Les lignes par la suite pourraient être n'importe où entre 1 ligne et 1000 lignes. J'ai regardé array_chunk() qui est proche de ce que je veux, mais cela fonctionne sur une valeur numérique, ce qui serait bien s'il y avait quelque chose qui fonctionnerait sur une valeur spécifiée (comme une nouvelle ligne, ou un virgule ou quelque chose de ce genre!).
Enfin, je vous prie de m'excuser si cela a déjà été répondu. J'ai cherché les endroits habituels quelques fois pour des solutions potentielles.
Espoir vous pouvez aider :) Foxed
Qui l'a craqué. Première fois :) - Merci à toutes les autres réponses, celui-ci a résolu le problème. – suitedupgeek
pourrait résoudre l'astuce, mais est certainement le moins efficace.Wesley avait un très bon point sur l'utilisation de file_get_contents(). –
Vous ne pensez qu'au CPU. Si le fichier est dit 1Gb, alors file_get_contents() et convertissant cela en un tableau aura une utilisation de la mémoire crête beaucoup plus élevée. Je pense que cela vaut également la peine d'être considéré. –