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 14:00 | Komunita

    FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.

    Ladislav Hagara | Komentářů: 0
    dnes 12:00 | Komunita

    Blender Studio nedávno oznámilo plán vytvořit svůj první otevřený (open source) celovečerní film. Film by se měl jmenovat Overgrown (YouTube). Film vznikne, pokud se zajistí financování. Prvním krokem je získat 7 000 předplatitelů Blender Studia. Cena je od 11,50 eur měsíčně. Aktuálně počet předplatitelů je 5 289. Předplatné pokryje 20 % nákladů. Zbytek, 80 % nákladů, má být financován externími producenty nebo distributory.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Nová verze

    Byl vydán Debian 13.6, tj. šestá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.15, tj. poslední patnáctá opravná verze Debianu 12 s kódovým názvem Bookworm, k dispozici je LTS. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    10.7. 16:11 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.

    Ladislav Hagara | Komentářů: 2
    10.7. 13:55 | IT novinky

    Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží

    … více »
    Ladislav Hagara | Komentářů: 16
    10.7. 12:11 | Nová verze

    Byla vydána verze 1.97.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    10.7. 05:00 | IT novinky

    Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.

    Ladislav Hagara | Komentářů: 21
    10.7. 04:44 | Nová verze

    TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.

    Ladislav Hagara | Komentářů: 0
    9.7. 17:00 | IT novinky

    Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala

    … více »
    Ladislav Hagara | Komentářů: 12
    9.7. 04:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.24 a Xwayland 24.1.13 řeší 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2112 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 1135×
    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.