abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:11 | Komunita

    Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Zajímavý článek

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Nová verze

    OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | IT novinky

    Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.

    Ladislav Hagara | Komentářů: 1
    včera 14:44 | IT novinky

    Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.

    Ladislav Hagara | Komentářů: 3
    včera 12:22 | Bezpečnostní upozornění

    Rozšíření webového prohlížeče Urban VPN Proxy a další rozšíření od stejného vydavatele (např. 1ClickVPN Proxy, Urban Browser Guard či Urban Ad Blocker) od července 2025 skrytě zachytávají a odesílají celé konverzace uživatelů s AI nástroji (včetně ChatGPT, Claude, Gemini, Copilot aj.), a to nezávisle na tom, zda je VPN aktivní. Sběr probíhá bez možnosti jej uživatelsky vypnout a zahrnuje plný obsah dotazů a odpovědí, metadata relací i

    … více »
    Ladislav Hagara | Komentářů: 5
    včera 05:22 | Zajímavý software

    QStudio, tj. nástroj pro práci s SQL podporující více než 30 databází (MySQL, PostgreSQL, DuckDB, QuestDB, kdb+, …), se stal s vydáním verze 5.0 open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 6
    včera 04:55 | Nová verze

    Byla vydána nová verze 259 správce systému a služeb systemd (Wikipedie, GitHub).

    Ladislav Hagara | Komentářů: 0
    včera 02:55 | Zajímavý článek

    Cloudflare Radar poskytuje aktuální informace o globálním internetovém provozu, útocích nebo trendech. Publikován byl celkový přehled za rok 2025. Globální internetový provoz vzrostl v roce 2025 o 19 %.

    Ladislav Hagara | Komentářů: 0
    17.12. 15:22 | IT novinky

    Správní rada americké mediální skupiny Warner Bros. Discovery (WBD) podle očekávání odmítla nepřátelskou nabídku na převzetí od firmy Paramount Skydance za 108,4 miliardy dolarů (2,25 bilionu Kč). Paramount podle ní neposkytl dostatečné finanční záruky. Akcionářům proto doporučuje nabídku od Netflixu.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (0%)
     (0%)
     (0%)
     (0%)
     (0%)
     (0%)
     (33%)
     (33%)
     (33%)
    Celkem 3 hlasů
     Komentářů: 6, poslední dnes 08:17
    Rozcestník

    Dotaz: Nacteni a parsovani souboru (PHP nebo PERL)

    11.8.2005 18:55 tom84 | skóre: 6
    Nacteni a parsovani souboru (PHP nebo PERL)
    Přečteno: 1048×
    Dobry den, mam takovy malinky problemek. Potrebuju nacist soubor a ten pak naparsovat na casti a ty nakonec je ulozit do DB. Zatim to mam pro testovani udelane v PHP ale problem je ze soubory pak budou treba az 10MB velike nechce se mi menit max velikost pameti pro PHP. Mohl bych to vyresit pomoci perlu, ale to taky neni zas tak elegantni protoze budu mit pak 10MB pole.

    Kdyby nekoho napadlo jak to nacitat tak, aby se nevytvarelo tak velke pole a jamohl ty prizpevky rozparsovat budu rad :)

    Vsem diky za napady. S pozdravem Tomas Werschall

    Zatim posilam kod ktery mam.
    $posts= preg_split('/From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})/', implode(file('test.txt')), -1, PREG_SPLIT_NO_EMPTY);
    
    while(list($key,$value)= each($posts)){
     $post_split= preg_split('/Message-ID: (.+)/',$value);
     $head= $post_split[0];
     $message_text= $post_split[1];
     preg_match('/From: (.+) na (.+) \((.+)\)/',$head,$from);
     preg_match('/Subject: (.+)/',$head,$message_subject);
    
     $post= $from[0]."\n".$message_subject[0]."\n\n".trim($message_text)."\n";
     echo "$key\n<br>".nl2br(htmlspecialchars($post))."<br>\n<hr>\n";
    }
    
    "One World, One web, One program" - Microsoft Promo "Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler

    Odpovědi

    11.8.2005 19:11 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Mohl bych se pokusit pochopit co ten kód dělá, ale jaksi ... Co takhle říct co má být výsledkem místo kódu a třeba vám i někdo odpoví. Doporučuji začít třeba návodem E. S. Raymonda.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    11.8.2005 20:32 tom84 | skóre: 6
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Ale v prispevku je napsano co kod dela. viz:
    Potrebuju nacist soubor a ten pak naparsovat na casti
    Nic vic, nic min to nedela. Ja jsem jen potreboval ten kod vylepsit aby byl efektivnejsi
    "One World, One web, One program" - Microsoft Promo "Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler
    12.8.2005 08:30 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Mezi parsováním a parsováním může být dost podstatný rozdíl. Ten hlavní rozdíl je v tom, jestli to jde udělat on stream, nebo ne. Takže kus kódu který něco dělá on block mi bez hodně důkladného studia neřekne, jestli se to dá dělat on stream. Takže vstup by jsme konečně měli odkázaný v jiném příspěvku a teď jak má vypadat výstup?
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    12.8.2005 11:10 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Tkový hrubý nástin jak to udělat v Perlu
    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    
    my $msg={};
    my $header='';
    my $firstFrom = qr(^From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})$);
    my $headerLine = qr(^\S+:);
    sub ParseHeader {
    	my @headerLines = split m($/), $_[0];
    	my $ret = {};
    	@$ret{qw(usr site dayOfWeek month day hour min sec year)} =
    		shift(@headerLines) =~ /$firstFrom/;
    	foreach my $line (@headerLines) {
    		# tady si udelej co chces se zbytkem hlavicky a nacpi do $ret 
    	}
    	return $ret;
    }
    
    sub PrintMsg {
    	my $msg = shift;
    	return unless ref $msg eq 'HASH' and %$msg;
    	use Data::Dumper;
    	print Data::Dumper->Dump([$msg],['msg']);
    }
    
    while (<>) {
    	chomp;
    	?$firstFrom?o and $header = $_ and next;
    	if ($header) {
    		/$headerLine/o and $header .= "$/$_" and next;
    		if (/^\s*$/) {
    			PrintMsg ($msg);	# end of header - print msg
    			$msg = ParseHeader($header);
    			$header = '';
    			reset;
    			next;
    		}
    		# falesna hlavicka
    		$msg->{content} .= "$/" . $header;
    		$header = '';
    		next;
    	}
    	%$msg and $msg->{content} .= "$_$/" and next;
    	/\S/ and die 'Header not found';
    }
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    12.8.2005 11:55 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Protože jsem zapoměl na tisk poslední zprávy a taky nemám moc rád výceřádkové řetězce, tak trochu vylepšená podoba
    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    
    my $msg={};
    my @header;
    my $firstFrom = qr(^From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})$);
    my $headerLine = qr(^\S+:);
    sub ParseHeader {
    	my $ret = {};
    	@$ret{qw(usr site dayOfWeek month day hour min sec year)} =
    		shift() =~ /$firstFrom/;
    	foreach my $line (@_) {
    		# tady si udelej co chces se zbytkem hlavicky a nacpi do $ret 
    	}
    	return $ret;
    }
    
    sub PrintMsg {
    	my $msg = shift;
    	return unless ref $msg eq 'HASH' and %$msg;
    	use Data::Dumper;
    	shift @{$msg->{content}} while $msg->{content}[0] =~ /^\s*$/;
    	pop @{$msg->{content}} while $msg->{content}[$#{$msg->{content}}] =~ /^\s*$/;
    	print Data::Dumper->Dump([$msg],['msg']);
    }
    
    while (<>) {
    	chomp;
    	?$firstFrom?o and push @header, $_ and next;
    	if (@header) {
    		/$headerLine/o and push @header, $_ and next;
    		if (/^\s*$/) {
    			PrintMsg ($msg);	# end of header - print msg
    			$msg = ParseHeader(@header);
    			@header = ();
    			reset;
    			next;
    		}
    		# falesna hlavicka
    		push @{$msg->{content}}, @header;
    		@header = ();
    		next;
    	}
    	%$msg and push @{$msg->{content}}, $_ and next;
    	/\S/ and die 'Header not found';
    }
    PrintMsg($msg);
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    11.8.2005 19:26 Jarek Šeděnka
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Spise nez prepis do Perlu by tomu pomohlo postupne nacitani souboru, misto file('soubor') dat fopen('soubor','r') a cist to postupne.

    Btw. 10MB vubec nic neni, pokud velikost nepujde do stovek tak bych to nechal tak jak to je :-)
    11.8.2005 19:46 tomas84 | skóre: 30
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Tak tak, já bych načítal soubor řádek po řádku.
    11.8.2005 20:29 tom84 | skóre: 6
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Ano to me take napadlo, ale kdyz budu soubor nacitat cely tak se to bude dobre rozdelovat pomoci regularnich vyrazu na jednotlive bloky. Jedna se totiz o archiv jedne mailove konference a ja si k ni chci udelat webove rohrani. Jak jsou zpravy ulozeny si muzete prohlednout zde. http://bobrshub.no-ip.org/test.txt

    Ja tedy potrebuji soubor rozdelit na jednotlive prispevky a ty pak vlozit do DB aby se s tim dalo lepe pracovat. Ale asi nakonec to stejne budu muset nacitat po radku. Pac nikdy nevim jak bude soubor veliky a zda bych pak mel tolik pameti na pole. Ale jen jsem chtel zda by nekoho nenapadlo lepsi napad jak to resit.

    Dekuji vsem za namety. S pozdravem Tomas Werschall.
    "One World, One web, One program" - Microsoft Promo "Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.