Page 1 sur 1
lire et ecrire dans un fichier
Posté : 13 juil. 2007, 12:34
par benoitJ
Salut,
Je suis en train de recupérer des données d'un fichier qui comporte la structure et les données d'une table qui est tres lourde.
Pour le moment, je voudrais récupérer le contenu du fichier et en faire plusieurs... Le probleme est que je ne sais abolument pas la taille des lignes....
voici mon code:
set_time_limit(10000);
function recuperer($file)
{
$i=0;
$fp = fopen($file,"r"); //(1)
$j=0;
while(!feof($fp) && $j<3)
{
$i=0;
$fichier="donnes".$j.".sql";
if(touch($fichier))
$f=fopen($fichier,"w");
while($i<100)
{
$donnees = fgets($fp,4096); //(2)
fputs($f,$donnees);
fputs($f,"\n");
$i++;
}
$j++;
fclose($f);
}
fclose($fp);
}
recuperer("export.sql");
Comment faire pour que dans chaque fichiers, je possède environ une centaine de struture de ma table parce qu'avec ce code, je récupere des lignes mais elles ne sont pas terminées...
Peut etre en inserant dans le fichiers une centaine de champs se terminant exclusivement par des ;
Merci
Posté : 13 juil. 2007, 12:45
par benoitJ
Je me suis mal exprimer dans mon dernier post.
J'ai un fichier d'une taille de 510Mo, il contient la structure d'une table est les données.
Je souhaite eclater ce fichier en plusieurs fichiers de 2 ou 8 Mo environ.
Je souhaite que chaque fichier contient les données, donc j'ai un script qui lit le fichier d'origine, crée un nouveau fichier et recopie dedans... Cependant, comme je ne connais pas les lignes de mes fichiers, je voudrais que mon script recopie environ une centaine de ligne se terminant par le caractere ; et ce dans chaque fichier...
Merci
Posté : 13 juil. 2007, 13:24
par titerm
Amha, fgetcsv() devrait pouvoir répondre a ton besoin.
Posté : 13 juil. 2007, 14:31
par benoitJ
Merci pour la fonction, mais je n'y arrive pas...
Je vais continuer a tester pour voir
Posté : 13 juil. 2007, 15:03
par Bin LIU
file_get_contents
preg_split ou même explode, ça dépand ton fichier
file_put_contents
Posté : 13 juil. 2007, 15:07
par mere-teresa
Si ton fichier est très gros, fopen/fgets/fclose est pas si bête.
Sinon, tente file()
Posté : 13 juil. 2007, 16:12
par benoitJ
Bah ecoute, je n' y arrive pas d'autant que dans mes lignes, il y a deja des ; donc ca plante....
savez vous comment je peux faire pour recuperér dans un seul fichier ma strucute de table et dans d'autres fichiers les differentes lignes(chacune commencant par insert into...)
merci
Posté : 13 juil. 2007, 16:43
par mere-teresa
Peux tu mettre un extrait de ton fichier SQL (en modifiant les données sensibles) pour qu'on voit de quoi il a l'air, stp ?
<?php
function recuperer($file)
{
$i=0;
$fp = fopen($file,"r"); //(1)
$j=0;
while(!feof($fp) && $j < 3)
{
$i=0;//encore une initialisation de $i ??
$fichier="donnes".$j.".sql";
/*
if(touch($fichier))//est ce que PHP a les droits pour touch ?
{
$f=fopen($fichier,"a+");
}*/
while($donnees = fgets($fp,4096);)
{
/*fputs($f,$donnees);
fputs($f,"\n");*/
//on pourrait remplacer par
file_put_contents($fichier, $donnees."\n", FILE_APPEND);
$i++;
}
$j++;
/*fclose($f);*/
set_time_limit(100);//renouvelle le time limit à chaque tour de boucle est plus économique
}
fclose($fp);
}
recuperer("export.sql");
Posté : 13 juil. 2007, 16:45
par Jules Petibidon
hello,
a priori si tu omet le parametre length de fgets(), il te lit le fichier ligne par ligne.
et pour récupérer uniquement la structure, généralement elle est déclarée en premier, donc tu peux analyser tes lignes et t'arreter au premier ";" rencontré...
Maintenant si tu as plusieurs tables à récuperer de ton dump, là ça risque d'être un peu plus coton
bon courage !
Edit : erreur de moi -> sans length fgets lit 1024o... sinon spécifier une valeur énorme, vu qu'apparemment il s'arretera en fin de ligne, quelque soit la valeur de length ?
Posté : 13 juil. 2007, 16:50
par benoitJ
Je suis désolé mais j'ai juste mis quelques lignes^^
Code : Tout sélectionner
- MySQL dump 8.22
--
-- Host: localhost Database: easybourse
---------------------------------------------------------
-- Server version 3.23.56-log
--
-- Table structure for table 'search'
--
DROP TABLE IF EXISTS `search`;
CREATE TABLE `search` (
`NomPage` varchar(255) NOT NULL default '',
`Titre` varchar(255) NOT NULL default '',
`Keyword` varchar(255) NOT NULL default '',
`dtPublication` datetime NOT NULL default '0000-00-00 00:00:00',
`Langue` tinyint(3) default NULL,
`ContenuID` int(11) unsigned NOT NULL default '0',
`Categorie` tinyint(3) unsigned NOT NULL default '0',
`Type` tinyint(3) unsigned NOT NULL default '0',
`Contenu` text,
`Emetteur` tinyint(3) unsigned default NULL,
`Valid` tinyint(3) default NULL,
PRIMARY KEY (`ContenuID`,`Categorie`),
KEY `DtPublication` (`dtPublication`),
FULLTEXT KEY `Contenu` (`Contenu`)
) TYPE=MyISAM;
/*!40000 ALTER TABLE `search` DISABLE KEYS */;
--
-- Dumping data for table 'search'
--
LOCK TABLES `search` WRITE;
INSERT INTO `search` VALUES ('1-vinci-dit-non-a-la-fusion-avec-veolia','Vinci dit « non » à la fusion avec Veolia','FR0000120529#FR0000124141#FR0000125486','2006-06-19 10:31:00',1,1,1,2,'Fusions-acquisitions/Vinci dit « non » à la fusion avec Veolia/Face à l’opposition du leader mondial des concessionnaires-constructeurs intégrés (autoroutes, aéroports, parkings), Veolia retire son projet d’OPE, annoncé mercredi dernier. C’est le deuxième échec du groupe après sa tentative avortée en février de lancer une offensive sur Suez avec l\'aide de l\'italien Enel. /L’appât du gain, voilà ce que reproche la direction de Vinci à Veolia et, laisse sceptiques les analystes quant à une fusion créatrice de valeur. Aussi, le groupe de BTP a tout simplement dit « non » au leader mondial de l’environement dirigé par Henri Proglio.Aux arguments « amicaux » avancés par Veolia – synergies de coûts et de revenus, accélération de la croissance -, le groupe nouvellement présidé par Yves-Thibault de Silguy, en lieu et place d’Antoine Zacharias, démissionnaire en début de mois, voyait en cette démarche une offre hostile.Pour la direction, Vinci (21,5 milliards d\'euros de chiffres d\'affaires en 2005, et une dette de 1,58 milliard d’euros) n’est qu’une machine à « cash-flow » destinée à renflouer les comptes de Veolia, dont l’endettement avoisine les 13,9 milliards d’euros, et à financer des projets qui lui sont propres, notamment ceux à trait à l’énergie et la propreté.Même son de cloche du côté des analystes. Pour la majorité d’entre eux, le rapprochement ne semblait guère avoir d\'intérêt industriel, compte tenu des différences de nature entre les activités des deux groupes.Un passage en force coûterait trop cherDes foutaises pour Veolia, qui voulait donner naissance au numéro 1 mondial de l\'environnement urbain et de l\'aménagement du territoire. Et de défendre que le nouvel ensemble aurait réalisé un chiffre d\'affaires de près de 50 milliards d\'euros. Pour autant, le groupe ne compte pas lancer une offre hostile sur Vinci, car ce scénario conduirait Veolia à émettre 610 millions de nouvelles actions à un prix présentant une décote de 25% par rapport à la « fair value » estimée de Veolia. Il refuse également de se lancer dans une bataille syndicaliste, à l’instar de ce qu’il se passe entre Suez et Gaz de France. Surtout que les salariés de Vinci avaient, de leur côté, fait savoir qu\'ils étaient vivement opposés au projet.Seul réconfort pour Vinci, les propos tenu hier par Gérard Mestrallet, le PDG de Suez, qui a averti dans le « Journal du Dimanche » que si le projet de fusion avec Gaz de France n\'était pas engagé cet été, il chercherait d\' « autres options » pour « protéger l\'avenir » du groupe. Du tout bon pour Veolia, qui lorgne toujours sur la branche environnement du groupe. Sur le plan boursier, le titre Veolia devrait reprendre un peu de hauteur après avoir chuté de près de 15% la semaine dernière en réaction à son projet d’OPE sur Vinci.L’action Vinci devrait pour sa part enregistrer des prises de bénéfices que certains estiment limitées compte tenu de l’aspect spéculatif du dossier.',0,1),('291-ford-vente-de-jaguar-et-land-rover-a-l-etude-','Ford : vente de Jaguar et Land Rover à l’étude ?','','2006-08-07 10:35:00',1,291,1,1,'Rumeur du jour/Ford : vente de Jaguar et Land Rover à l’étude ?/Le deuxième constructeur américain a revu à la baisse ses résultats du 2ème trimestre 2006. Alors que sa situation ne cesse de se dégrader, le géant de l’automobile pourrait se séparer de Jaguar et de Land Rover. /Nommé la semaine dernière, Kenneth Leet fait déjà travailler l’imagination des analystes qui envisagent tous les scénarios. Cet ancien dirigeant de la banque Goldman Sachs et de Bank of America a été engagé en tant que conseiller spécial du PDG Bill Ford. Sa mission sera \'d\'explorer des stratégies alternatives pour la société\', a annoncé le groupe. Selon le Sunday Times, la première restructuration pourrait concerner Jaguar et Land Rover. Ford envisagerait de regrouper les deux marques et de vendre une participation majoritaire
à un investisseur financier. Le quotidien évoque toutefois des sources bancaires selon lesquelles Jaguar pourrait rester sous le contrôle de Ford, mais en réduisant sa production. La marque avait été rachetée en 1989 pour 2,6 milliards de dollars avant d’enregistrer des pertes équivalentes. Résultats revus à la baisse au 2ème trimestreCes rumeurs interviennent alors que le deuxième constructeur automobile américain vient déjà de réviser à la hausse son annonce de pertes, faite il y a deux semaines. Alors qu\'il avait dévoilé le 20 juillet une perte nette trimestrielle de 123 millions de dollars, soit 0,07$ par action, Ford annonce à présent une perte de 254 millions de dollars (près de 200 millions d\'euros), soit 0,14$ par action. La différence de 131 millions de dollars est essentiellement liée aux coûts supplémentaires des départs anticipés à la suite de suppressions de milliers de postes en Amérique du Nord. Les provisions nécessaires au régime de retraites des employés auraient été mal évaluées. Le constructeur avait également invoqué une baisse des ventes de 4x4.Les dirigeants de Ford ont déclaré la semaine dernière qu’aucune décision n’avait été prise quant à la vente de certains de leurs actifs. Mais ils anticipent de fortes déceptions pour les marques de luxe Jaguar, Land Rover, Volvo et Aston Martin, ce qui alimente les spéculations. Le groupe a en effet averti les marchés financiers que sa division haut de gamme Premier Automotive Group ne serait pas rentable en 2006, contrairement aux prévisions. La situation n’a pas l’air de vouloir s’améliorer. Les ventes de véhicules Ford aux Etats-Unis ont connu une chute de 34% sur un an. Toyota vient de le coiffer au poteau en commercialisant plus de véhicules pour la première fois au mois de juillet. ',0,1),('294-gdf-acteur-des-fusions-gazieres','GDF, acteur des fusions gazières','FR0010208488','2006-08-07 10:35:00',1,294,1,4,'L\'info du jour/GDF, acteur des fusions gazières/Gaz de France aurait offert 250 millions de livres pour s’octroyer les activités de BHP Billiton en mer du Nord, selon un article paru dans The Business le 6 août. Groupe français qui sur lequel le ministre italien du développement économique a eu l’occasion de se prononcer dans une interview au journal Les Echos. /Gaz de France serait en tête du peloton dans la course à l’acquisition des activités pétrole et gaz de BHP Billiton en Mer du Nord, apprend-on dans le journal The Business. Sa dernière offre à la compagnie anglo-australienne, d’un montant de 250 millions de livres, remonterait à mardi dernier.Le français GDF se retrouve ainsi en compétition avec sa rivale EDF, l’anglais Centrica, Tullow Oil, l’italien Eni et le japonais Idimitsu. BHP dispose de 16% des droits d’exploitation dans le champ gazier de Bruce, un des plus importants de mer du Nord, dont la capacité de production est de 22 millions de barils de pétrole. Il détient également 31,8% dans le champ de Keith. De taille plus modeste, la capacité de production de la compagnie y est de 4,5 millions de barils.Toujours selon The Business, BHP Billiton aurait fait appel au bureau londonien de la banque d’investissement américaine Jefferies pour s’occuper des modalités de la vente. Pour le moment, les représentants de BHP se sont refusés à tout commentaire. La décision de l’anglo-australienne devrait être connue d’ici la fin du mois.Le thème du gaz est à l’honneur ce début de semaine. En effet, dans une interview accordée au journal Les Echos, le ministre italien du développement économique, Pierluigi Bersani, s’est exprimé sur le projet de fusion de GDF/Suez. Il se dit « favorable à un processus de concentration qui intègre la dimension européenne pour favoriser la consolidation des grands systèmes industriels ». Il a d’ailleurs invité les français et les italiens à s’entendre pour donner naissance à de véritables leaders dans les secteurs de l’énergie, de l\'industrie de la défense ou encore des transports ferroviaires.On rappellera que sous la menace d’une OPA d’Enel, Suez avait décidé de s’engager dans un processus de fusion avec G
DF. Celui-ci n’a pas encore fini de faire parler de lui puisque l’opposition envisagerait de déposer plusieurs milliers d’amendements pour bloquer l’opération.',0,1),('2-m3-accelere-en-avril','M3 accélère en avril','','2006-06-19 10:31:00',1,2,1,1,'La statistique du jour/M3 accélère en avril//La BCE a livré ce matin la croissance de l\'agrégat monétaire M3 dans la zone euro enregistrée en avril. L\'augmentation de 8,8 % sur un rythme annuel est supérieure aux prévisions, et traduit même une accélération de la progression des liquidités en circulation sur les derniers mois.Cette hausse de l\'agrégat qui regroupe tous les instruments d\'épargne à moyen terme convertibles en liquidités, intervient après un gain de 8,5 % en mars, et de 8 % en février. Sa moyenne mobile sur trois mois illustre aussi cet emballement : + 8,4 % de février à avril, après + 8,1 % de janvier à mars.Dans le détail, cette hausse est essentiellement alimentée par l\'augmentation des crédits accordés aux entreprises, en progrès de 11,8 % en avril contre 11,5 % en mars, et la poursuite de l\'essor des emprunts contractés par les ménages.Ces derniers continuent sur leur lancée, à un rythme un peu moins soutenu, puisque d\'un mois à l\'autre, la croissance glisse de 9,5% à 9,4 %, portant tout de même la tendance annuelle sur trois mois à 11,3 % contre 10,8 % de janvier à mars. En revanche, la BCE pointe une réduction conséquente des besoins de financement des gouvernements : 0,9 % après 1,5 % en mars.Dans les minutes suivant cette publication, \' La Revue de stabilité financière \' de La Banque de France appelait le secteur financier à considérer le mouvement de redressement des taux d\'intérêts \' avec une particulière attention, étant donné son impact potentiel sur la valorisation des actifs financiers \', rappelant au passage que le secteur avait continué \' d\'accroître sa prise de risque \'.',0,1),('4-siemens-et-nokia-a-l-unisson','Siemens et Nokia à l’unisson','US6200761095#FI0009000681#DE0007236101','2006-06-20 10:31:00',1,4,1,2,'/Siemens et Nokia à l’unisson/Ce n’est pas une surprise. La rumeur enflait depuis début juin, emmenée par un secteur des équipementiers télécom en pleine consolidation et par un Siemens embourbé dans une restructuration difficile. Les noms du finlandais Nokia, du canadien Nortel, de l\'américain Motorola et même du chinois Huawei avaient été cités comme repreneurs potentiels./',0,1),('5-convoitee-euronext-se-lancerait-a-l-assaut-de-borsa-italiania','Convoitée, Euronext se lancerait à l’assaut de Borsa Italiania.','NL0000241511','2006-06-21 10:31:00',1,5,1,2,'/Convoitée, Euronext se lancerait à l’assaut de Borsa Italiania./Au centre d’une bataille entre Deutsche Börse et le New-York Stock Exchange, la bourse paneuropéenne Euronext s’apprêterait à prendre l’initiative en s’emparant du contrôle de son homologue milanaise Borsa Italiana. /Son président, Jean-François Théodore n’a jamais caché son intérêt pour une alliance transalpine à l’heure où son propre groupe fait lui-même l’objet de convoitises de part et d’autre de l’Atlantique.A en croire le quotidien la Tribune, Euronext formaliserait aujourd’hui ou demain une offre valorisant Borsa Italiana entre 1 et 1,4MdE, soit un montant en ligne avec les attentes du marché.Euronext devra toutefois composer avec les ambitions de son concurrent Deutsche Börse qui pourrait à son tour se lancer dans la bataille, à fortiori si son projet de rapprochement n’aboutissait pas.\r\nOr, la direction d’Euronext continue de privilégier le projet de fusion « entre égaux » présenté il y a quelques jours par le New-York Stock Exchange, malgré les améliorations apportées par Deutsche Börse à sa propre proposition en début de semaine.Plus fédérale, plus équilibrée, l’offre de la bourse de Francfort amadouera peut-être les actionnaires d’Euronext. « Un pas de trop » pour Roland Koch, ministre-président du Land de Hesse, pouvant amener le gouvernement à intervenir. Les analystes, pour la plupart, sont plutôt ravis. Toujours deux milliards d’euros en numéraire sur la table complétés par des titres,
mais des concessions du côté allemand pour accorder à l’alliance Paris-Bruxelles-Amsterdam-Lisbonne plus d’influence au sein de la nouvelle entité. D’abord Deutsche Börse propose que la direction des différentes divisions soit partagée entre Amsterdam, Francfort et Paris, et ne soit plus cantonnée uniquement à Francfort. La section informatique pourrait, ainsi, rester à Paris. Pour autant, le communiqué du groupe spécifie que les postes de président du directoire et de directeur financier doivent rester basés dans la capitale économique allemande.Et exit le monopôle de la Bafin. La proposition faite par la Deutsche Börse de permettre à l’ensemble des régulateurs nationaux d’intervenir sur le marché est également un gage de fédéralisme. Autre point qui pourrait faire pencher la balance du côté de la place allemande au détriment du New York Stock Exchange (Nyse), le libre choix d’Euronext quant à la désignation du président du conseil de surveillance du nouveau groupe. Sans oublier la parité, entre les deux groupes, du nombre de siège au conseil de surveillance et au directoire du nouveau groupe.De quoi faire changer d’avis les actionnaires d’Euronext, qui avaient préféré, en mai, les arguments du Nyse plutôt que ceux de Deutsche Börse ? Pas sûr, d’autant que, parmi les points d’achoppe, demeure toujours le refus allemand d’abandonner sa structure d’intégration verticale ou système de filiales (Clearstream, notamment).Pas étonnant aussi que le Nyse reste serein quant à cette nouvelle concurrence. Pour preuve, son refus de relever son offre actuelle de 7,9 milliards d’euros… ',0,1),('6-fusion-gaz-de-france-suez-la-parfaite-alchimie-','Fusion Gaz de France/Suez : la parfaite alchimie ?','FR0010208488#FR0000120529','2006-06-21 10:31:00',1,6,1,4,'Fusions-acquisitions/Fusion Gaz de France/Suez : la parfaite alchimie ?/Après l’annonce par le ministre de l’Economie d’un calendrier de fusion entre GDF et Suez, la classe politique française est plus que jamais divisée sur le sujet et ce pour des motifs pas nécessairement d’ordre économique./Le ministre de l’Economie, Thierry Breton a précisé lundi soir sur France 2 le calendrier de la fusion entre les deux géants du secteur de l’énergie : GDF et Suez. Le projet de loi sur la fusion sera présenté en Conseil des ministres le 28 juin prochain avant d’être débattu à l’Assemblée nationale à la rentrée dans le cadre d’une session extraordinaire. La convocation d’une telle session extraordinaire a été critiquée par le Bureau national du PS mardi soir qui l’a qualifiée de « nouveau compromis boiteux ». La fusion complète, si elle devait intervenir, ne se ferait dès lors pas avant la fin de l’année. Ce projet, élaboré dans l’urgence, est à la fois une réponse aux attaques du groupe italien Enel sur Suez et une réponse à l’ultimatum posé par Gérard Mestrallet, le PDG de GDF, qui a déclaré dans le Journal du dimanche que « si le projet n\'est pas engagé de manière irréversible à l\'été » il se verrait dans l’obligation de demander à son conseil d\'administration de rechercher d\'autres options afin de protéger l\'avenir des salariés. Après l’annonce du gouvernement, qui correspond plus à une logique défensive de protection des intérêts français qu’offensive, les représentants de GDF et de Suez se sont donc réjouis et estimés que le report à septembre du débat à l’Assemblée nationale permettrait d\'expliquer les \'bénéfices de la fusion\' aux parlementaires.',0,1),('7-tensions-sur-les-taux-longs-europeacute-ens','Tensions sur les taux longs européens','','2006-06-22 10:31:00',1,7,1,4,'/Tensions sur les taux longs européens/Déclarations de Jean-Claude Trichet, le président de la Banque centrale européenne, sur un niveau d’inflation élevé dans la zone euro, augmentation de la consommation des ménages, tout contribue à un accroissement des taux longs. De quoi orienter les marchés financiers à la baisse./4,021%, contre 4,002%, pour l\'OAT française à 10 ans, 4,003%, contre 3,983%, pour le taux du Bund allemand à 10 ans. La réponse, hier soir, des marchés après l’annonce de Jean-Cla
Posté : 13 juil. 2007, 16:54
par be,oitJ
En fait, c'est un simple fichier.sql avec ma structure et mes données... Mais je n'arrive pas a mettre (a peu pres une 1àaine de ligne par fichiers).
j'ai testé avec ; ca marche pas, avec \0, \n....
rien a faire