Pozdrav!
Jedan mali problem. Imam .php skriptu, koja radi ovako:
otvori 2014-09-02.txt, i zapamti si prvu liniju
otvori 2014-09-01.txt, pronađe liniju u kojoj je ovo što ti je zamamtio iz prve datoteke
onda iz 2014-09-01.txt prepiše sve u drugu datoteku. Počne u prvi liniji, ta završi u liniji, gdje prije pronašao.
primjer:
Citat:
2014-09-02
1 podatak
2 podatak
3 podatak
4 podatak
2014-09-01
99 podatak
98 podatak
1 podatak
25 podatak
U izpis če tako iči:
99 podatak
98 podatak
1 podatak
Sada ova skripta ne radi, jer ima u prvom redu 2014-09-02 čć, pa iako je & ne radi.
Hvala na pomoči.
Moram priznat da baš ne kužim... ima & ili naše znakove u prvom redu ?
Iako zbog ovoga nebi php pucao nikako, pa bi trebalo to malo bolje objasnit....
Najprije traži prvi red u datoteci 2. Ako je tamo recimo
Citat:Tomislav Ivcic - nesto
je OK
ali ako ima
Citat:Tomislav Ivčić - Neš
ili
Tomislav Ivcic - Nesto & nesto
Ne radi
Daj da vidimo php kod..... ja sam iskreno i kineski jezik već parsal s php-om i nikad nisam imal nikakvih problema, a najmanje da mi puca skripta zbog toga... Ja bi ipak reko da je negdje drugdje u skripti problem pa puca na drugom mjestu....
php kod je u privitku, prvi post (sazas007.php)
Niko nezna gdje u php je greška?
Citat: erbi u 14. Rujan 2014, 12:38
Niko nezna gdje u php je greška?
Koliko sam ja shvatio ti zelis da iz 2014-09-02 datoteke pročita prvi red te onda otvori drugu datoteku i onda...što ?
Iz 2014-09-02 pročita prvi red i si ga zapamti
Otvori 2014-09-01 i pronađe red u kojem je ovaj zapamčen
Onda copy iz 2014-09-01 u novu datoteku, sve od prvog reda, do reda gdje je pronašao zapamčeno
I tako ide za cjeli mjesec
Citat: erbi u 15. Rujan 2014, 08:29
Iz 2014-09-02 pročita prvi red i si ga zapamti
Otvori 2014-09-01 i pronađe red u kojem je ovaj zapamčen
Onda copy iz 2014-09-01 u novu datoteku, sve od prvog reda, do reda gdje je pronašao zapamčeno
I tako ide za cjeli mjesec
Pogledaj jel ti ovo ok ?
sada mi u izpis.txt baci samo prvi red iz 2014-09-01, a ne sve do ovog reda, kojeg je pronašao u 2014-09-02
Citat: erbi u 15. Rujan 2014, 09:24
sada mi u izpis.txt baci samo prvi red iz 2014-09-01, a ne sve do ovog reda, kojeg je pronašao u 2014-09-02
U koju svrhu koristis uopce ovu skriptu ?
Skripta mi je pokazivala da nije definirana varijabla posljedni_red pa sam je definirao i pogledao sto se dogada sa skriptom.
Ova skripta služi za ispis. Svaki dan je kreirana playlista u neki txt. Recimo, da se u 23:59:59 završi sa linijom 50, drugi dan je prvi red 51. Program za play, kopira drugi dan sve od prve linije do poslednje u jedan txt.
Sad imamo prvi dan sa 100 linija, a drugi dan isto sa 100 linija. Skripta mora sada pronači prvi red u drugom danu, si ga zapamtiti, i u treči txt kopirati sve od prve linije do ovog zapamčenog podatka. Sve nadalje nije bitno, jer je ide u drugi dan in je u txt-2.
Citat:Skripta mi je pokazivala da nije definirana varijabla posljedni_red pa sam je definirao i pogledao sto se dogada sa skriptom.
Varijabla nije definisana zbog toga, jer ima u 2014-09-02 č i ć. Ako tega ne bi bilo, varijabla je normalno definirana. I baš ovdje je greška
Definirao sam vijednost te varijable da bude null te sam onda otvorio text file koji imas te ih prebacio u UTF-8 jer su bili ASCII
Jel ti sada radi skripta ?
Ako prebacim 2014-09-01 i 2014-09-02 u utf8, onda skripta radi. Jel postoji kakav način, da bi ovo radilo i sa ascii?
Citat: erbi u 15. Rujan 2014, 10:00
Ako prebacim 2014-09-01 i 2014-09-02 u utf8, onda skripta radi. Jel postoji kakav način, da bi ovo radilo i sa ascii?
Preporučam ti da napravis ovako - svaki put kada skripta se pokrene neka prvo pretvori datoteke u UTF8 pa te napravi overwrite te onda ide dalje ostatak skripte.
Hvala Onebeat
Citat: Onebeat u 15. Rujan 2014, 10:05
Preporučam ti da napraviš ovako - svaki put kada skripta se pokrene neka prvo pretvori datoteke u UTF8 pa te napravi overwrite te onda ide dalje ostatak skripte.
Ni u ludilu to radit.... i onda overwrite-aš originalnu datoteku, a nekaj ne valja - i gdi si onda?
Jednostavno kad učitaš sadržaj u varijablu
$fp = @fopen($filename_danas, 'r');
obradi taj tekst u varijabli. Budući da vidim da sve nešto svoje učitavaš, dakle uvijek će dolaziti datoteka u istom formatu snimljena, napraviš samo
$fp = iconv('ASCII', 'UTF-8//IGNORE', $fp);
... i trebalo bi radit...
Citat: Dario u 16. Rujan 2014, 14:02
Ni u ludilu to radit.... i onda overwrite-aš originalnu datoteku, a nekaj ne valja - i gdi si onda?
Slican princip koji sam tu napisao koristim kod jednog svog rješenja i nemam nikakvih problema jer ako nesto dobro slozis onda ide glatko...
@Dario:
Ovaj convert sam pokušao, a ne radi. Zanimljivo je to, da kad otvorim datoteku sa editorom, kaže mi da je format ANSI, a kad jo otvorim sa php, kaže da je utf-8
Nešto sam brklao i liniju:
if (strpos(htmlspecialchars($line), $prvi_next_day) !== false)
promjenio u:
if (strpos($line, $prvi_next_day) !== false)
i radi. Možda samo za sada i mi opet javi grešu kad budem u gužvi ;D