Necu biti od pomoci, bar ne trenutno ali na duze staze mozda da. Daki i ostatak ekipe koja radi moderaciju moze slobodno da me sankcionise ukoliko smatra da nije na mestu.
Pazi, da bi uopste mogao da pratis greske, moras da imas neku koegzistentnost u kodu. Vidim da ti PHP nije primarna delatnost, i necu zalaziti u to - ne mora da bude. Ono kako mogu da ti pomognem je par saveta, jer se ovde ne radi o tome zasto nesto nece da udje u bazu i slicno, vec problem oko debaginga problema i nalazenja greske ili propusta koji nije greska.
Prvo, ne mozes pisati logiku programa na srpskom i engleskom. Promenljive, baza, tabele i slicno moraju da koriste jedan jezik. Inace ces poludeti, veruj mi, kad stvari krenu da se komplikuju, ti udjes u deseti sat kucanja koda neces znati sta ti se kako zove.
Drugo, nemoj da skracujes nazive tabela, promenljivih, funkcija, metoda, klasa, bilo cega. Mnogi misle u pocetku da je sto bolje staviti $i umesto $increment i to je sasvim okej kad se radi o takvim petljama, ali funkciju koja tipa radi sanitizaciju unosa, recimo StripCharactersForDBInput() ne mozes da nazoves scfdbi(). Kad kod krene da se siri, neces znati koja promenljiva ti sta sadrzi.
Trece, malo pogledaj tipove u MySQL bazi - text je ultra-sport u odnosu na ograniceni varchar. Ovo je next-level ali na vreme kreni da razmisljas o tome da bi stvorio dobre navike. Isto tako, gledajuci poslednji post i ono kako ti je strukturisana tabela, "file" kolona meni ne govori nista o tome sta se u njoj nalazi. Ocekivao bih bukvalno kompletan fajl da se tu nalazi. Nazovi to file_name, file_path ili tako nesto.
Cetvrto, iako vidim da ne koristis OOP, pocni da radis neki autoloading, makar bio preko jednog fajla. Onda preko PHPa radi redirekcije koje su ti potrebne u JS, iako postoje i pedantniji nacini. Zato nam je i tesko da vidimo ceo kod ako ne znamo sta fajl koji include-ujes sadrzi, i ukljuci error reporting za sve.
Peto i ono sto mi deluje primarno ovde - copy/paste je dobra stvar kad ti je ono sto ti treba finalno. Ako je neki srednji deo koda ili pocetni a ti ne razumes kako radi, bices u problemu jer moze da se desi da ne odradi ono sto zelis, i onda neces znati zasto ti nesto ne radi, a to je ostalo u nekom delu koji ti je radio. I kad odradis copy paste (radimo ga svi ponekad kad trazimo resenja), RAZUMI taj deo koda, procitaj, pogledaj sta se tu desava. Verujem da je zato 99% problema oko ovog zip fajla nastalo. Vidim to kroz "==" i "===", vidim kroz "Datoteka mora biti tacno 5MB" i slicno.
Nemoj ovo shvatiti negativno, nisam ti pomogao oko ovog problema, ali kad razradis ovaj problem i nastavis sa funkcionalnostima, naleteces na druge probleme. Miksujes OOP kad ti je ponudjen online kao resenje, koristis proceduralno programiranje... nemoj tako. Iz ovoga ne mozemo da vidimo da li je problem u kodu, u toj klasi ZipArchive koju koristis, u filesystem dozvolama na samom serveru, u tome sto na serveru nema instaliran plugin ili softver za zip da bi to uopste radilo, bukvalno moze 10 stvari da bude.
THE ONLY EASY DAY WAS YESTERDAY