Comment faire pour supprimer Duplicate CSVs en PHP

Comment faire pour supprimer Duplicate CSVs en PHP


PHP signifie "PHP: Hypertext Preprocessor." Il est un langage de programmation utilisé principalement pour générer dynamiquement le contenu du site. Comme beaucoup de langages de programmation, il supporte CSV (Comma Separated Values), qui est un format pour stocker des données dans des fichiers texte réguliers. Les sauts de ligne séparent chaque enregistrement, et un délimiteur - comme une virgule ou point-virgule - sépare chaque élément dans les enregistrements. Avec PHP, vous pouvez utiliser les fichiers de données CSV dans les applications Web et de garder vos fichiers propres en éliminant les entrées en double inutiles.

Instructions

1 Ouvrez le fichier contenant les données CSV en mode lecture seule. Par exemple, si votre nom de fichier est "test.csv", tapez ce qui suit:

if (($ fp = fopen ( "test.csv", "r"))! == FALSE) {

2 Boucle à travers toutes les lignes de données CSV, en utilisant la fonction "fgetcsv." Les paramètres les plus importants de la fonction sont le handle de fichier $ fp, le nombre maximum de caractères par ligne et le délimiteur. Habituellement, le délimiteur pour les fichiers CSV sera une virgule. Par exemple, tapez:

tandis que (($ data = fgetcsv ($ fp, 1000, ','))! == FALSE) {

3 Créer un nouveau tableau dont la clé sera un hachage MD5 des données renvoyées par la fonction "fgetcsv". La valeur de chaque élément du tableau sera la donnée elle-même. Étant donné que les données renvoyées par "fgetcsv" est un tableau, utilisez la fonction "serialize" avant de créer le hachage. Ce processus élimine automatiquement les entrées en double, car il génère une clé de réseau en double, en écrasant toutes les entrées identiques. Par exemple, tapez:

$ List [md5 (sérialiser ($ data))] = $ data;

4 5 Rouvrez le fichier en mode d'écriture et boucle à travers chacun des enregistrements de la nouvelle gamme. Par exemple, tapez:

if (($ fp = fopen ( "test.csv", "w"))! == FALSE) {

foreach ($ list comme $ record) {

6 Écrivez chacun des enregistrements dans le fichier en utilisant la fonction "fputcsv". Cela met le tout dans un format CSV. Par exemple, tapez:

fputcsv ($ fp, $ record, ',');

7