Rila_xp Posted June 1, 2013 Report Posted June 1, 2013 SalutareFiind in stadiul de invatare php si dorind sa incerc ceva nou am zis sa incerc sa trec de la mysql la lucrul cu .txt ca baza de date.M-am lovit de urmatoarea problema:Fisierul meu text arata asa:id,name,ip,adress1,demo,89.98.121.000,www.rst.com2,demo2,89.98.121.001,www.rstc.comVreau sa copiez de aici toate randurile care au in componenta adresa Computer Memory Behavioral Testing & RAM Validation PC Diagnostic Tools for all Desktops, Servers & Notebook Memory Modules si sa le pun in alt fisier text.Imi dati o idee va rog frumos? Quote
yoyois Posted June 1, 2013 Report Posted June 1, 2013 PHP: strpos - ManualPS: de ce vrei sa faci o asemenea prostie? SQL a fost inventat cu un motiv anumePS2: daca eu imi pun ca username in baza ta de date numele "ma-ta,tactu" ? Quote
Rila_xp Posted June 1, 2013 Author Report Posted June 1, 2013 Am un fisier text cu continutul unei baze de date si vreau sa sortez de aici doar randurile care au un link anume.Am zis sa ocolesc treaba cu sql ca ar dura mai mult sa import fisierul in baza de date si sa sortez decat sa sortez direct din fisierul text. Quote
SticKyWoX Posted June 1, 2013 Report Posted June 1, 2013 Nu-i adevarat. Iti ia mai putin sa importi fisierul in baza de date si sa-l sortezi de acolo decat sa sortezi direct din fisierul text. Pana acum era deja sortat. Quote
Rila_xp Posted June 1, 2013 Author Report Posted June 1, 2013 E un fisier .csv si are vreo 10.000 de linii si ma gandesc ca ar dura mult daca as da import la toate astea din php ca asta inseamna sa le pun intr-un while Quote
SticKyWoX Posted June 1, 2013 Report Posted June 1, 2013 E un fisier .csv si are vreo 10.000 de linii si ma gandesc ca ar dura mult daca as da import la toate astea din php ca asta inseamna sa le pun intr-un whileLa un fisier cu 60k de hashuri SHA-1 unde trebuia sa pun si conditia WHERE mi-a luat mai putin de 20 de minute pe o baza de date de la freedb.org care se misca foarte greu. Mie unul fisierele de tip text mi-au dat foarte multe batai de cap din cauza spatiilor puse aiurea si a randurilor gresite/goale.Mai bine fa cu sql. Quote
bubbles Posted June 1, 2013 Report Posted June 1, 2013 <?php$fisier="fisier.txt";$deschide=file_get_contents($fisier);$open=explode("\n",$deschide);foreach ($open as $open2) { if (preg_match("/rst/", $open2)) { echo $open2."<br/>";} }?> Quote
eusimplu Posted June 1, 2013 Report Posted June 1, 2013 Caraterul "," fiind unul critic trebuie convertit inainte sa fie adaugat in baza de date(fisier).str_replace(',','|rst1|',$linie_de_adaugat);Deci "," nu o sa afecteze cu nimic. Quote
Vlachs Posted June 1, 2013 Report Posted June 1, 2013 $cacat=fopen("fisier.txt","r");while(!feof($cacat)){$raw_cacat=fgets($cacat,256);list($id,$name,$ip,$adress)=explode(",",$raw_cacat);print "ID: ".$id."\n";}Nu prea am inteles ce vrei sa faci Quote