Diskuze: file
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 50 zpráv z 54.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
pokud si pamatuju taky jsem mýval problém s posledním řádkem (čtení souboru jsem nepoužíval hoodně dlouho, všchno jedu přes databázi). nejidálnější je aby poslední řádek nebyl prázdnej. ukaž tady nějakej kus zdrojáku a toho fileu u kterýho to blbne ať máme lepší představu co s tím je....
Co kdyby sis to vyzkoušel?
Když na konec souboru přidám 5 prázdných řádek, funkce file() mi načte všech 5.
Nevím, k čemu je dobré snižovat rozpětí cyklu o 1 a ani netuším, jak se to ve foreach dělá.
Jak jsem psal, také se mi počítal i prázdný poslední řádek. Ovšem někde:
case "goTo":
$value = "[\"".$_GET["time"]."\",\"";
$file = file("History\\".$_GET["file"]);
$fileLineCount = count($file) - 1;
$noFound = true;
$index = 0;
while($index < $fileLineCount)
{
if(strpos($file[$index], $value) === 0)
{
$noFound = false;
break;
}
$index++;
}
if($noFound)
die("alert('Nenalezeno!');");
echo "olderButton.disabled=false;bufferStart=$index;rows=0;room.innerHTML=defaultValue;";
$nextIndex = $index + 200;
$length = $nextIndex < $fileLineCount ? $nextIndex : $fileLineCount + 1;
while($index < $length)
{
echo "parseMessage('".substr($file[$index], 0, -1)."');";
$index++;
}
break;
$length = $nextIndex < $fileLineCount ? $nextIndex : $fileLineCount + 1;
Jak vidno musím tu jednotku zase připočíst. Tak nechápu, o co GO...
Asi obojí
Nějak mi ten tvůj obrázek nepasoval s výrokem "pokud si pamatuju taky jsem mýval".
No nazdar.
Aby to bylo úplně jasné - mám historii chatu a v ní se pochybuji dopředu a dozadu (newer, older), na začátek a konec (start, end) a od určitého času. Buffer je všude 200 řádků. Takže vždy kontroluji, aby načtené řádky pasovaly na buffer 200 a současně, aby nedošlo k přetečení krajů... (index > 0, index < $fileLineCount)
ikdyž to byl vtip na
můj účet tak i přesto se směju jak magor v blázinci
No nazdar - chci tě vidět...
$fileLineCount tu je, abych pořád neusel tahat countem... Unescape je tu proto, abych mohl používat quote znaky... Díra tam není - na server nikdo nezná heslo a jméno... (Každý kdo zná heslo a jméno si může číst jakýkoliv script...) Neznám jiný příkaz, který zabije proces a přitom vypíše hlášku... Na jeden krátký řádek to opravdu nejde...
Tak tohle je husté, trvalo by mi hodiny vymyslet aby byl ten kód tak špatný. Přemýšlím jestli je na tom vůbec něco dobře.
pokud si dobře pamatuju zpětné lomítko dělá to že pokud mám nějakej znak kterej je v tom programovacím jazyku (třeba $ jako proměnná,) tak \ způsobí to že "nezareaguje" ale vypíše se malej přáklad:
$promena = "string";
echo "nyní si vypíšu proměnou \$promena"; //zobrazí se mi nyní si vypíšu proměnou $promena (ne její obsah)
Jak už jsem psal - buď se předveďte, nebo sem nepište... Urážky mi moc nepomůžou... Vzhledem k tomu, že v této ukázce skoro nic není, tak nechápu, co na tom může být tak špatně...
Právě. Vůbec netušíme, co ten zmatečný kód vlastně má dělat. Pokud nám to prozradíš, tak ti možná poradíme.
A ten count() je tak k čemu?
Ke zjištění počtu řádků? Chci vypsat buffer 200 řádků od určitého času... Pokud nebude možné buffer naplnit, tak ať... (proto count)
To vím. matesax těch zpětných lomítek má na můj vkus až příliš mnoho. Zejména v cestě by vůbec neměla být.
a nebylo by jednoduší to prostě udělat přes databázi? (pokud teda bobře chápu že děláš chat)
Historie je holý text - není důvod proč použít DB... (Ukládám skutečně jen text - ne autory, nic...)
a proč to tak děláš? ty nechceš vedět co kdo napsal? pokud máš v plánu lidem "ukazovat" historii tak vypíšu jen ten jednen sloupec...
Historie je holý text - to je ten pravý důvod, proč použít DB.
Ten text je JSON - je v něm vše důležité... Nač budu v DB zakládat tabulku s jediným polem pro text? (bude to jedna tabulka s jedním sloupcem, s jedním řádkem - fakt k užitku...)
i kdyby ten text byl třeba chlupatý, tak i tak se to dá uložit do
databáze
Jak jsem psal - nač ukládat jediný řádek do DB? Nejen, že budu parsovat nové řádky, ale ještě to tahat z DB - děkuji...
ukládat chci hesla, jména uživatelů, jména dd, produkty, hashe,... Ale jeden řádek s jednou hodnotou s x řádky fakt ne...
Takových DB tabulek mám hromadu. A fakt: Jsou mi k užitku.
Jen se raději vyhýbám 0NF. Nebyla by to zrovna nejlepší vizitka.
Nic proti, ale ve škole jsem používal kratší zdroj a lépe napsaný a to jsem vypisoval více věcí než jen jeden sloupec z txt. Ale opravdu je lepší použít db, je to přehlednější a vypsat co kdo napsal je hned a ne na týden. Ale ok.
tak pořád lepší jednosloupcová tabulka, než takovejhle zdroj (a k tomu nefunkční...)
Tahání dat z DB je rychlejší než otevírání souboru.
A to parsování tam děláš kvůli čemu?
Funguje mi to dokonale, rychle atd. Jen jsem chtěl vědět, proč tam hapruje poslední prázdný řádek. Načež jste mi sdělili, jak je ten kód špatný. Nikdo ho ale neudělal lépe... A jsem zvědavý jak, když jen čte řádky souboru...
To je end. Například pro akci join. (to chat) Ale pro procházení historie to fakt nestačí. A protože je ve formátu JSON + escape, těžko mohu lidi jen odkázat na onen soubor. Navíc buffer má svůj důvod - aby se na to nečekalo x let a aby to ta stránka vůbec zvládla...
JSON není na žádný zásobník - JSON je pro uchování pole JS... (V poli je jméno, datum,...) Příkazy jsou prováděné ihned...
$value = "[\"".$_GET["time"]."\",\"";
["00:00",
Je začátek pole - za ním je barva, nick a zpráva... (["00:00", "black", "Sam", "escape"])
Po velice dlouhém zamyšlení mi to stále nepřijde na řádek databáze s jedním sloupcem.
Řekl mu někdo, že v databázi může být více sloupců?
Pochybuji. Myslíš si, že tuší o tom, že tabulka může mít i víc řádek?
Já bych z toho nedělal velkou revoluci, na tohle ještě svět není připraven.
Také marně přemýšlím, k čemu je tam ta barva. Dávat styly pro zobrazování do datového modelu - to chce vážně pořádný kus odvahy.
Však ty určitě jednou socket zprávou pošleš zvlášť barvu nicku a nick - já ne...
Mimochodem useři již v DB jsou a mají hned několik tabulek - natož sloupců...
Ne - není to má DB. Je to DB týmu - já pro tým udělal jen chat a pár dalších věcí. A z JSON socket z právy to je do DB, ve které se ani omylem neorientuji sakra daleko... (Takhle jsou data pěkně konzistentí, v požadovaném tvaru atd. Abych je separoval do sloupců atd., a pak zse vyzobával - ne děkuji...)
Zobrazeno 50 zpráv z 54.