Bonjour a tous,
je suis debutant en PHP et je voudrais faire un exercice un peu compliqué.
J'ai 2 fichiers appelons les data et keys
Dans le fichier data j'ai une serie de registres (ce sont des doc biliographiques).
Dans le segond fichier j'ai a peu pret la meme chose + des ID.
Chaque ID est unique et correspond a une chaine bien specifique.
Pour diferencier les registres du fichier data, l'on peu utiliser le premier champ
=LDR
un ligne blanche separe les registre, voici un exemple du fichier:
et ainsi de suite.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 =LDR 01228nam 2200301 b 4500 =001 00000000000001 =005 20090429:10082000 =008 060403\2004\\\\\\\\\\\\\\\\\\\\\\\\baq =008 120114s9999\\\\xx\\\\\\\\\\\\000\0\und\d =019 \\$aM-34416-2004 =020 \\$a84-667-3834-7 =027 \\$a11100 =024 \\\$a9 =100 1\$aFerrero, Luis =245 10$aMatematika$b :2: Irakasleentzako materiala$c / Luis Ferrero, María del Carmen Jiménez, María Gregoria Martín =260 \\$aMadrid$b : Anaya-Haritza$c, 2004 =300 \\$a4 bolumen dituen karpeta (159, 31, 39, 95 or.)$c ; 32 x 26 cm =440 \0$aApain eta dotore =500 \\$a2004.10.19 =505 0\$a1. bolumena: Proposamen didaktikoa$a -- 2. bolumena: Programazioa$a -- 3. bolumena: Ebaluazioa$a -- 4. bolumena: Aniztasunaren tratamendua =521 0\$a2.maila =650 \4$aLMH - Matematika =700 1\$aJimenez, Maria del Carmen =700 1\$aMartn, María Gregoria =856 \\$u http://www.anaya.es$z Argitaletxearen web-orria =856 \\$u http://www.hezkuntza.ejgv.euskadi.net/r43-573/eu/contenidos/informacion/dih6/eu_15733/adjuntos/8466738347.pdf$z Aurkibidea =952 \\$p1000001$8LH$d05/04/06$aEK$bEK$oI LH2 MAT 1 04$eANA$s05/04/06 =998 \\9 =LDR 01239nam 2200373 b 4500 =001 00000000000003 =005 20081212:09412200 ...
l'exercice consiste a parser le champ 650 du fichier data:
Ça peu aussi etre comme ceci:Code:=650 \4$aLMH - Matematika
ou comme ceci:Code:
1
2
3 =650 \4$a Etika =650 \4$aPatristika =650 \4$aFilosofia
ou encore:Code:=650 \4$aMusika$x-Historia eta kritika
Les champs 650 sont composés de sous champs visibles par des lettres.Code:=650 \4$a Haurren heziketa$j-Ipuinak$j-Haur eta gaztentzako liburuak
a, ou x ou j ou y, z
Pour toutes les combinaisons du fichier data il existe une correspondance dans le fichier keys.
L'ecercice consiste a recuperer l'ID du fichier keys et de le coller a la fin de la ligne 650 du fichier data.
voici comment se presente les données dans keys:
Voyez dans le fichier keys, j'ai aussi un champs 650 (T650) et il termine par un numero...C'est ce numero que je soouhaite recuperer.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22..MARC.. TITN 15 LD05 n LD06 a LD07 m LD18 b T001 00000000000006 T005 20091214:11502100 T008 060403s2005 espa c 000 1 baq c T019 ... T650 ' 4''a' Haurren heziketa'j'-Ipuinak'j'-Haur eta gaztentzako liburuak'ZZ0004537' ..MARC
Dans notre exemple ça serait:
Code:=650 \4$a Haurren heziketa$j-Ipuinak$j-Haur eta gaztentzako liburuak$90004537
J'ai commencer avec ce petit bout de code, mais je sais pas comment mettre dans une variable une chaine et ensuite la comparer dans l'autre fichier:
J'aurais besoin de quelque clefss s'il vous plait.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <? if (!$fp = fopen("cata.txt","r")) { echo "Echec de l'ouverture du fichier"; exit; } else { while(!feof($fp)) { // On récupère une ligne $Ligne = fgets($fp,255); // On affiche la ligne echo $Ligne; // On stocke l'ensemble des lignes dans une variable $Fichier .= $Ligne; } fclose($fp); // On ferme le fichier } ?>
Cordialement

