CodeIgniter błąd z uploadem plików na home.pl

Zacznę od końca, czyli od tego, że hosting na home.pl mam w głębokim poważaniu i jeśli hostujesz tam swoje strony – to współczuję.

Ale do rzeczy, musiałem ostatnio zrobić kilka zmian w aplikacji opartej o CodeIgniter, między innymi upload wielu plików. Rzecz zrobiłem, na serwerze developerskim hula aż miło, niestety po przeniesieniu na home.pl hulać przestało. Kilkadziesiąt var_dump’ów później znalazłem błąd w frameworku (nie poprawiony/wykryty w aktualnej 2.1.0 wersji). Błąd znajduje się w bibliotece Upload, w metodzie _file_mime_type w 1058 linii kodu:@exec('file --brief --mime-type ' . escapeshellarg($file['tmp_path']), $output, $return_code); ktoś się tam przeliterówkował i zamiast ‚tmp_name’ wklawiaturzył ‚tmp_path’. Subtelna różnica, ale żyć nie daje. Błąd pojawia się tylko jeśli nie masz PHP 5.3 z file_info i przedawnionej metody do sprawdzania mime type uploadowanego pliku.
Podsumowując: jeśli nie działa ci dodawanie plików w CI i nie masz file_info w PHP sprawdź swój kod jak powyżej.

PS. Zdarzyło mi się wcześniej używać frameworka Yii, CodeIgniter przy nim jest jak powrót do epoki kamienia łupanego, czy to pod względem możliwości, logiki/udokumentowania kodu czy samej dokumentacji. IMHO CI polecić można tylko do małych projektów.

Ten wpis został opublikowany w kategorii Informatyka, PHP i oznaczony tagami , , , . Dodaj zakładkę do bezpośredniego odnośnika.

2 odpowiedzi na „CodeIgniter błąd z uploadem plików na home.pl

  1. Kacper pisze:

    Dzięki za rozwiązanie problemu z uploadem!

  2. hajlabajla pisze:

    Dzięki! Sam bym tego szukał miesiącami 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *