Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:1f7:f110:4a...–

peter
PHP › pdo unquote
2. 7. 2015   #203403

mnooo, je :) Nevim, zaatim jsem nic takoveho nedelal. Zakaznici nemaji ftp ucet, aby se mohli samostatne logovat, ani sql ucet.

Resim to ted pres soubor s pameti. Nevim, jak moc je to schudne vuci verzim php, vlastnik domeny tam ma nejake stare phpko. A jake velikosti mi dovoli nez zarve hlasky s pameti. Cteni zatim vypada ok.

$size_file = 5 * 1024 * 1024;
$size_row  = 30 * 1024;
$del = ';';
$fp = fopen("php://temp/maxmemory:$size_file", 'r+');    // memory_

...

function csvWrite($fp, $row, $del=';')
{
fputcsv($fp, $row, $del);
}

function csvRead($fp, $size=1000, $del=';')
{
return fgetcsv($fp, $size, $del);
}
peter
PHP › pdo unquote
2. 7. 2015   #203401

Aby si to mohl kazdy zakaznik delat sam.

peter
PHP › pdo unquote
2. 7. 2015   #203399

Pripadne si budu muset napsat vlastni parser pro csv. To mozna bylo lepcejsi resit to unquote :)

peter
PHP › pdo unquote
2. 7. 2015   #203398

Takze csv take neni reseni problemu :) Neumi konvertovat string na array a zpet.
Takove programovani mne tezce nebavi, kdyz maji rozdelane funkce a nedokonci je. Ted, abych vymyslel fintu, jak to osidit, treba nahradit nove radky necim jinym. Coz nesmirne zbrzdi cely script. Nebo nejak carovat se souborem jako se stringem. Nebo ukladat mezisoubory, coz je uplne nejhorsi varianta.

peter
PHP › pdo unquote
2. 7. 2015   #203396

S tim zipem, jakoze, kdyz to ctu, tak mi vrati string. Podobne, kdyz to zapisuji. Nechci mezisoubory.

peter
PHP › pdo unquote
2. 7. 2015   #203395

Ha, problem, mi to rozseka podle \n, ale ignoruje to apostrofy. Chapu, ze ta funkce k tomu nebyla urcena, ale. takze jine reseni najit :)

$rows = str_getcsv($csv_data, "\n");

peter
PHP › pdo unquote
2. 7. 2015   #203394

Jak uz jsem rikal, zalohu db hned zipuji. Neukladam si mezi-soubory. 

function backupToFile($path,$tables,$id)
{
$date = date("Ymd-H_i_s",time());
$filename = 'zaldb'.$id.'_'.$date.'.zip';
$to = $path.$filename;
$zip  = new ZipArchive;
if ($zip->open($to, ZipArchive::CREATE) === true)
	{
//	$zip->addFromString('info.txt', implode(', ',$tables));
	foreach($tables as $table)
		{
		$zip->addFromString($table.'.txt', backupTbl($table));
		}
	$zip->close();
	chmod ($to, 0777);
	return true;
	}
return false;
}
peter
PHP › Zobrazovanie textu z ineho php
2. 7. 2015   #203393

Pokud tu chybu nedokaze programator zopakovat, tak ji nemuze hledat.
To mas jako, kdyz zakaznik rekne, tam nekde je chyba, kdyz jsem zadaval objednavku, neslo mi to. Vubec netusim, co tam vyplnoval, na co klikal a co se stalo v jakem prohlizeci a tak... Z takovych udaju problem nedokazes replikovat a videt, co se deje tobe.

peter
PHP › Zobrazovanie textu z ineho php
2. 7. 2015   #203392

Zkus sem dat stranku. Napis, co je treba na ni naklikat. Co se pak stane? Co se melo stat, nestat?
Zatim mi to prijde jako takove teoretizovani. Neco nekde mam, nedam, najdete mi v tom chybu :)
Navic je to problem jakehosi redakcniho systemu, ty maji vlastni forka a ty scripty psal kdovikdo a kdovijak. Ten by ti umel odpovedet na otazky. Ostatni to musi pracne zkoumat, co to asi dela, cim se to ovlada. Coz mne treba ted v tom horku nebavi :)

peter
PHP › pdo unquote
2. 7. 2015   #203390

   

function csvRead($csv_data,$callback,$table,$where)
{
$rows = str_getcsv($csv_data, "\n");
array_shift($rows);	// odstran hlavicku	// unset($rows[0]);	
array_pop($rows);	// odstran prazdny radek na konci
foreach($rows as $row)
	{
	$callback(str_getcsv($row,";"),$table,$where);
	}
}

function csvWrite( array  &$fields, $delimiter = ';', $enclosure = '"', $encloseAll = false )
{
$delimiter_esc = preg_quote($delimiter, '/');
$enclosure_esc = preg_quote($enclosure, '/');
$output = array();
foreach ( $fields as $field )
	{
        if ( $encloseAll || preg_match( "/(?:${delimiter_esc}|${enclosure_esc}|\s)/", $field ) )
		{
		$output[] = $enclosure . str_replace($enclosure, $enclosure . $enclosure, $field) . $enclosure;
		}
	else	{
		$output[] = $field;
		}
	}
return implode( $delimiter, $output );
}
// mazal jsem komenty, snad je to cele
peter
PHP › pdo unquote
2. 7. 2015   #203388

CSV ma jeden zasadni problem. ma put/get  do souboru, ale opet schazi implementace put/get string :) Coz je naprosto zasadni, pac ja to chci zipovat. Takze, opet si napsat vlastni funkci pro konverzi na csv a doufat, ze to nezvrtam :) (nekde bych ji mel snad mit, minule jsem to uz googloval)

peter
PHP › pdo unquote
2. 7. 2015   #203386

Zvazim jeste to csv. Tam bych se nemusel drbat s parsovanim. Xml zavrhuji jako neusporny format.
Rozhodne se mi nechce spolehat na vlastni unquote, kdyz quote neni radne zdokumentovane :)
Chtel jsem, aby to bylo co nejjednodussi. Nacist soubor. Nejak to checknout a hned sql dotaz pro import do db.

peter
PHP › pdo unquote
2. 7. 2015   #203382

prepsanim na csv nic neresis. take musis zkontrolovat proti parazitnimu kodu.

peter
PHP › pdo unquote
2. 7. 2015   #203381

Ten soubor vygeneroval program, ktery to quotoval. Tam neni problem, ten to vyrobi ok. Ale, kdyz si to uzivatel uploadne, tak si tam muze pridat editeci parazitni kod. Coz je nezadouci.

peter
PHP › pdo unquote
2. 7. 2015   #203380

Dobre. A jak kontrolujes sql dotaz proti parazitnim udajum? Mam txt soubor casti sql dotazu INSERT INTO
'1','1','Firma A'
'2','1','Firma B'
A ted, jak to mam zkontrolovat, zda tam neni preruseni uvozovkou, ktere nekdo dopsal? Podle meho, nejjednodussi cesta je ta, co jsem napsal, proste to zkusim unquotovat a zaquotovat a jestli se to shoduje.
 

peter
PHP › pdo unquote
2. 7. 2015   #203378

Takhle, abys mne nepochopil spatne. csv netransformuje zalomeni radku, kdezto to quote z toho dela \n a tez slashuje vsechny apostrofy bez rozdilu. A mozna nejake dalsi veci. Jdu se pokusit najit k tomu nejakou dokumentaci.

peter
PHP › pdo unquote
2. 7. 2015   #203377

:)
Tvuj problem je mozna v tom, ze sis nikdy nenechal vypsat string po zaquotovani. Tam bys zjistil, ze to dela uplne neco jineho nez prevod do csv. Nejvic tomu asi odpovida php quote. nechtelo se mi psat ten reg. vyraz, tak jsem doufal, ze existuje zpetna (reverzni funkce). Ale kdyz ji neznas ani ty, tak se obavam, ze to bude znamenat dalsi vyrazne minusko na stranu pdo, kdykoliv nekdo prohlasi, jak je skvele a uzasne proti mysql :)

peter
CSS › drop-down menu float: right
2. 7. 2015   #203376

Jeste ti muzu dat link na jakysi editor menu. Ale je to pro starsi prohlizece kolem roku 2005. Kdo vi, jak se zachovaji moderni. A taky mi tam schazi obrazky (jenom skin folder a folder2 tam jakesi ma). Proto jsou tam takove prazdne mista.
http://peter-mlich.wz.cz/…menuedul.htm
Funguje to tak, ze
- skin + sipka nahoru prenasi vybrane menu do zobrazeni
- data to kopiruji do editace vzhledu
- naskinuj z editace to opet prenese nahoru do menu
- dole pak tlacitka
css - generuje css k html kodu,
www - generuje uplne novou html stranku (www prohlizec, zobrazit zdrojovy kod a mas cele menu),
skin - zobrazi zdrojovy kod pro skiny, kdyby sis program ulozil a editoval

peter
CSS › drop-down menu float: right
2. 7. 2015   #203375

1. Php tu nema, co delat. Sposta lidi ti nemuze poradit, protoze nezna php a cely html kod se jim rozhodi. Proste se to neda ted testovat.
www prohlizec ma funkci zobrazit zdrojovy kod, stacilo to jen z tama zkopirovat a mel bys to bez php.

2. ul / li jsou inline prvky, pripadne inline-block. Kdyz jim nastavis float, tak obklopuji text. Krasne to muzes videt, kdyz si tam pridas
.nav ul, .nav li {border:1px solid #f00; background:#eee;}
Je tam tedy urcita oblast kolem textu, kde to aktivni je a kde uz ne. Aspon ve FF se mi menu zhasne jen kdyz z te oblasti vyjedu.

3. neresis vubec situaci, ze se menu zalomi pres 2 radky. To podbarveni s tim rameckem se totiz neroztahne, takze to vypada divne, treba na jsfiddle.
http://jsfiddle.net/f61gu8x8/

4. nenapsal jsi, jaky pouzivas web prohlizec. To muze byt dost zasadni, protoze kazdy se chova jinak. Nejlogicteji se, podle mne, chova firefox. Chrome ma problemy, opera ma problemy, explorer ma specialni chovani a starsi verze dost problemu, ostatni prohlizece maji omezene zobrazovani. Problemy myslim to, zee napises logicky kod, spravne, a on jej neumi zobrazit bez nejakych dalsich uprav a nebo se ti proste html nejak rozsype, nekdy zobrazi, nekdy ne. Proste se neda spolehat na to, ze se to zobrazi v poradku, pokud nejsi zkusenejsi a nevis, co kde mas navic dopsat, aby to nenadelao zas potize v ostatnich prohlizecich.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý