source: pmb4.1/trunk/fuentes/pmb/admin/convert/imports/ascodocpsy2xml/input_ascodocpsy.inc.php @ 478

Last change on this file since 478 was 478, checked in by mabarracus, 4 years ago

copy trusty code 4.1

  • Property svn:executable set to *
File size: 1.8 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: input_ascodocpsy.inc.php,v 1.2 2014-01-07 09:12:18 mbertin Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9function _get_n_notices_($fi,$file_in,$input_params,$origine) {
10        global $base_path;
11        //mysql_query("delete from import_marc");
12       
13        $first=true;
14        $stop=false;
15        $content="";
16        $index=array();
17        $n=1;
18        //Lecture du fichier d'entrée
19        while (!$stop) {
20               
21                //Recherche du retour chariot
22                $pos_deb=strpos($content,"\n");
23                while (($pos_deb===false)&&(!feof($fi))) {
24                        $content.=fread($fi,4096);
25                        $content=str_replace("\r\n","\n",$content);//Pour avoir le bon séparateur
26                        //$content=str_replace("\r","\n",$content);//Pour avoir le bon séparateur
27                        $pos_deb=strpos($content,"\n");
28                }
29                //Début accroché
30                if ($pos_deb!==false) {
31                        //Notice = début jusqu'au retour chariot
32                        $notice=substr($content,0,$pos_deb);
33                        $content=substr($content,$pos_deb+1);
34                } else {
35                        //Pas de notice suivante, c'est la fin du fichier
36                        $notice=$content;
37                        $stop=true;
38                }
39               
40                //Si c'est la première notice, c'est la ligne d'intitulés !!
41                if ($first) {
42                        //les champs sont séparés par la tabulation
43                        $cols=explode("\t",$notice);
44                        $fcols=fopen("$base_path/temp/".$origine."_cols.txt","w+");
45                        if ($fcols) {
46                                fwrite($fcols,serialize($cols));
47                                fclose($fcols);
48                        }
49                        $notice="";
50                        $first=false;
51                }
52                if ($notice) {
53                        $requete="insert into import_marc (no_notice, notice, origine) values($n,'".addslashes($notice)."','$origine')";
54                        mysql_query($requete);
55                        $n++;
56                        $t=array();
57                        $t["POS"]=$n;
58                        $t["LENGHT"]=1;
59                        $index[]=$t;
60                }
61        }
62        return $index;
63}
64
65
66?>
Note: See TracBrowser for help on using the repository browser.