Mi lenne a cél? Egyszerre több gondolom én. Itt van ez, ez egy alap feltöltés. Vagy azt csinálod, hogy ajax-al ezt hivogatod, vagy megoldod úgy, hogy tömbbként végigfut a feltöltésen egy foreach ciklussal. A view mezőben pedig a name végére oda rakod, hogy [].
Pl Items[‘media’][], amikor meg feldolgozod, akkor meg $_POST[‘Items’][‘media’][].
A CUploadedFile::getInstance() nyilván NULL értéket ad vissza, vagyis nincs fájl feltöltve. Az első dolog, aminek utánanéznék, az az enctype=“multipart/form-data” megléte a <form> elemben. Én aránylag rendszeresen megfeledkezem róla
Még annyival egészíteném ki ezt a bejegyzést, hogy ha minden jó és semmilyen üzenetet nem kaptok és egyszerűen nem történik semmi, akkor a php konfig upload_max_filesize és post_max_size limitet a feltöltendő fájl túllépi. Ez apache specifikus dolog. Lekezelése a kontrolleren keresztül történhet a yii-ben, mivel ilyen esetben a POST és a FILES is eldobódik. már csak a $_SERVER változón keresztül lehet trükközni…
if ($_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST) && $_SERVER['CONTENT_LENGTH'] > 0) {
throw new Exception(sprintf('The server was unable to handle that much POST data (%s bytes) due to its current configuration', $_SERVER['CONTENT_LENGTH']));
}