CodeIgniter: Provera da li je u formi naveden fajl za upload

Prilikom programiranja jedne aplikacije imao sam potrebu da se na jednom obrascu (form) nađu slika i podaci i da sam obrazac služi kako za novi unos, tako i za izmenu postojećeg unosa.
Problem se javio ukoliko se u nekom momentu ne menja slika, a vrši se izmena nekog od podataka. Ukoliko u proceduri za validaciju pokrenem upload slike javlja se greška jer fajl nije priložen. Stoga sam odlučio da upload pokrenem samo u slučaju da je fajl priložen, a u suprotnom da izvršim samo izmenu ostalih podataka.

Nakon male pretrage po netu rešenje sam našao na www.stackoverflow.com:

Rešenje je u proveri vrednosti $_FILES varijable. Međutim, nije dovoljno samo proveriti da li fajl ima neku vrednost već i da li je veličina fajla veća od 0. Ukoliko njiedan fajl nije odabran za upload PHP će kao veličinu ($_FILES[‘userAvatar’][‘size’]) vratiti 0, a privremeno ime fajla ($_FILES[‘userAvatar’][‘tmp_name’]) neće biti postavljeno.

if (isset($_FILES['userAvatar']) && $_FILES['userAvatar']['size'] > 0){
     echo "fajl je priložen";
} else echo "fajl nije priložen" ;
Advertisements

YoxView jQuery galerija slika

Kako mi je bila potrebna jedna jednostavna jQuery galerija za prikaz fotografija, odlučio sam se za YoxView. Dopadljiva je, jednostavna za implementaciju, a uz to ima i pregršt opcija za fino podešavanje.

Sve je u početku izgledalo jednostavno. Samo je potrebno napraviti <div> klase „yoxview“ koji sadrži umanjeni prikaz sličica, kao u primeru:

<div class="yoxview">
    <a href="img/01.jpg"><img src="img/thumbnails/01.jpg" alt="Prva" title="Prva slika" /></a>
    <a href="img/02.jpg"><img src="img/thumbnails/02.jpg" alt="Druga" title="Druga slika" /></a>
    <a href="img/03.jpg"><img src="img/thumbnails/03.jpg" alt="Treća" title="Treća slika" /></a>
</div>

uključiti yoxview u stranicu:

<script type="text/javascript" src="yoxview/yoxview-init.js"></script>

i inicijalizovati ga:

    
    $(document).ready(function(){
       $('.yoxview').yoxview();
    });
    

sve ostalo bi trebala odraditi sam YoxView.

Međutim, Marfi se probudio i proveo sam dobro vreme čudeći se zašto neće da proradi. Na kraju sam napravio skroz pojednostavljenu verziju html-a, kako bih pokušao otkriti u čemu je problem. Naravno bez uspeha 😦

Zatim sam se setio da pogledam šta kaže debugger 🙂
Greška koju mi je debugger prijavio je:

Uncaught TypeError: Object # has no method 'delegate'

I onda malo gleduckanja po Netu i problem rešen 🙂
Naime metod „delegate“ je uveden od jQuery verzije 1.4.2, a ja sam uporno radio sa 1.3.2 🙂