[błąd] Upload plików....

0

hmm.... od czasu zmiany szaty graficznej (i jak mniemam silnika serwisu) nijak nie jestem w stanie wgrać żadnego pliku na upload.<url>4programmers.net</url>

Mam parę ciekawych kodów, ale nie jestem ich w stanie opublikować....

Po wybraniu pliku na dysku i wciśnięciu guzika pisze "Błąd - podaj kategorię"
Oczywiście kategoria była ustawiona....

Ktoś może wie, co z tym zrobić ?

Z góry dziękuję za zainteresowanie tematem...

[o dziwo tematu na wyszukiwarce nie nalazłem... jeśli to już było, to niech ktoś puści linka do odpowiedzi i wywali temat za jakiś czas... thx]

0

Primo: BugTracker
W BugTrackerze proszę zgłaszać błedy projektu

Secundo: Poruszane wielokrotnie zarówno na forum, jak i w bugtrackerze.

Tertio: Nikt nie wie dlaczego tak się dzieje ]:> Jednym działa, innym nie.

0

Komuś w ogóle działa? :| Chyba tylko adminom i moderatorom, w tym problem

Ciągle ktoś zgłasza ten błąd, admini mówią ze u nich działa i po sprawie.. trzeba by sprawdzić czy gdzieś nie jest namieszane z uprawnieniami.

0

No to może ktoś by coś z tym zrobił...? W końcu to portal programistów i takie buble nie powinny się przytrafiać. Nadal nie działa upload plików.

0

Kiedyś to przeglądałem i nie mogłem znaleźć żadnego błędu. Jedyne miejsce, gdzie wydawało mi się, że występuje było poprawne.

0

Hmm, no tez kiedys szukalem i nie moglem znalezc. A czesci osobom dziala jak widac po zamieszczonych plikach.

0

Może dodać jakieś chwilowe logowanie i zapis potrzebnych danych w momencie pojawienia się tego błędu? Bo to jakiś błąd widmo :-/

0

trochę się przyjrzałem kodowi no i nie mam jak przetestować no ale wydaje mi się że skoro dane są kodowane

base64_encode(serialize($data_ary))

to powinny być odkodowane poprzez:

unserialize(base64_decode($data_ary))

tymczasem są odkodowywane poprzez:

unserialize(stripslashes(base64_decode($data_ary)))

przez co tak na moje oko przy pojawieniu się gdziekolwiek znaku "" (backslash) w danych, jest on usuwany co rozwala całą strukturę danych (za mało znaków w ciągu) i unserialize zwróci pustą tablicę

// w praktyce też się sprawdza, zrobiłem 4 próby i nie dodało pliku tylko kiedy gdzieś dałem backslasha

// ale zdaje się że dane są wcześniej chyba traktowane przez addslashes więc rozszerza to listę znaków zakazanych do wszystkich które są escape'owane (ew. stripslashes powinno być PO unserialize a nie na ciągu do niego przekazanym)

BTW Bo nie wiem gdzie mogę o takie rzeczy zapytać
po co w kodzie się pojawia często coś w stylu:

$bool = bool ? true : false;

czy to jest zrobione dla czytelności kodu, żeby potem wiedzieć jednym zerknięciem jakiego typu jest $bool, taką macie zasadę tworzenia kodu, czy może przypadkiem lub z niewiedzy ktoś takie coś wpisał ? ja strasznie nie lubię tego typu kwiatków i trochę mi się wydaje to zawracaniem d**y parserowi, to jak "idź do kuchni i sprawdź czy jest mleko, jak będzie to przyjdź i powiedz że jest a jak nie ma to przyjdź i powiedz że nie ma"

// no akurat teraz nie mogę znaleźć żadnego takiego fragmentu dziwnego zapisem bo to przypadkiem czasem znajduję przeglądając kod, no ale miejsca gdzie jest to co powyżej:

ucp_main.php: 'NEW'         => $row['prvmsg_readed'] !== NULL ? false : true
cms_edit.php: ($text_md5 != $content_md5 ? true : false)
cms_watch.php: $db->sql_numfields($result) > 0 ? false : true;
upload/index.php: $mode = $_POST['extract'] == '1' ? true : false;
functions.php: 'URL'         => $row['forum_type'] == FORUM_LINK ? true : false
functions_download.php: 'FOCUS'      => $default_cat == $row['cat_id'] ? true : false
functions_user.php: return ( $match[1] > $photo_file_size ) ? false : true
geshi.php: $this->use_classes = ( $flag ) ? true : false;
parser.php: $tagallowed = (preg_match('>>REGEXP<<', $hold_string)) ? false : true;
posting.php: ($topic_type == TOPIC_GLOBAL ? true : false)
search.php: $unread_topic = $row['last_post_time'] > $mark_time && $topic_tracking ? true : false;
viewtopic.php: $a_post['REPORT'] = $row['post_id'] == $report ? true : false;
cron.php: $image = ( $rss_ary[$i]['type'] == 'open' ) ? true : false;

jedyne imo w miarę uzasadnione użycie:

forum.php: $topic_tracking = isset($row['topic_mark']) ? false : (isset($tracking_ary['t'][$forum_id][$row['topic_id']]) ? false : true);

linijek nie podaję, bo po pierwsze łatwo je odszukać a po drugie podaję wycinki z wersji którą mam u siebie, ma ona już trochę czasu i numery linijek pewnie się nie będą zgadzać, ale myślę że linijki jako takie zostały

0

Hmm Adamo: bardzo prawdopodobne ze to moze byc przyczyna. Jak bede mial chwile to sie temu przyjrze. Chyba ze ktos mnie uprzedzi.

Co do zapisu, mozesz jakies przyklady przytoczyc? Tzn. kontekst ;) Plik i ilnijka. bo byc moze rzeczywiscie przypadkowo takie cos zostalo.

0

Najciekawsze jest to, że wielokrotnie dodawałem źródła programów i ani razu nie spotkałem się z bugiem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1