[ Labyrinthman @ 13.07.2014. 18:21 ] @
Moram odmah da kazem da sam pogledao sva uputstva oko uploada slike, da sam procitao uputstvo u Najcesce postavljenim pitanjima na ovom delu foruma, da sam gledao razlicite tutorijale i da i dalje ne uspevam da resim problem oko uploada.
Evo ga code pa se nadam da ce mi neko pomoci. :)


Code:
       <form method='POST' action='profil.php' enctype='multipart/form-data'>
                                    Ime slike &nbsp;&nbsp;&nbsp; 
                                    <input type="text" name="imeslike"><br>
                                            <input type="file" name="image"/><br /><br />
                                            <input type="submit" value="Potvrdi" name="submit">
                                                </form>



Code:
      if (isset($_POST['submit'])) {
                                    require_once '../includes/Korisnik.php';

                                    $imeslike = $_POST["imeslike"];
                                    $slika = $_FILES['image']['name'];
                                    $slika_temp = $_FILES['image']['tmp_name'];

                                if (empty($slika) && empty($imeslike)) {
                                        echo $errors[] = 'you should fill the area.';
                                    }
                                    if (empty($errors) === true) {
                                        $object=new Korisnik();
                                        $object->uploadslike($imeslike, $slika, $slika_temp);
                                    }
                                }



Code:

    public function uploadslike($imeslike, $slika, $slika_temp) {

move_uploaded_file(isset($slika_temp), "slike/".$slika);
        $id = $this->connection->lastInsertId();
        
        
        $sql="INSERT INTO slike VALUES (:id,:imeslike,:idkorisnika,:slika)";
        
        $stmt=  $this->connection->prepare($sql);
        $stmt->bindParam(":id",$id,  PDO::PARAM_INT);
        $stmt->bindParam(":imeslike",$imeslike,  PDO::PARAM_STR);
        $stmt->bindParam(":idkorisnika",$_SESSION["id"],  PDO::PARAM_INT);
        $stmt->bindParam(":slika",$slika,  PDO::PARAM_STR);
        $stmt->execute();}




[Ovu poruku je menjao Labyrinthman dana 13.07.2014. u 19:49 GMT+1]

[Ovu poruku je menjao Labyrinthman dana 13.07.2014. u 19:53 GMT+1]
[ Mystery @ 14.07.2014. 00:29 ] @
Kazi ti nama sta te muci? Sta se desava, a sta se ne desava? Da li pokazuje nekakvu gresku?
[ Labyrinthman @ 14.07.2014. 16:46 ] @
Problem je bio u sledecem:
Radi unos u bazu ali ne radi upload u direktorijum, znaci u bazi je sve onakko kako zelim da bude, unesen je id, imeslike, id korisnika, naziv unesene slike ali nema uploadovane slike u direktorijumu "slike".
Iz tog razloga sam sinoc stavio absolutnu putanju i sad radi ali ti mi je skroz bezveze, zelim da imam relativnu putanju i da mi upload radi.

Znaci najveci problem je u funkciji move_uploaded_file($slika_temp, "slike/".$slika);
[ plus_minus @ 14.07.2014. 17:03 ] @
Code (php):


$_SERVER['DOCUMENT_ROOT']

# ili

__DIR__

# ili

dirname(__FILE__)

 


Bilo koja od te tri može da te reši muka za nadalje. Uvek formiraj apsolutnu putanju do slike, onda kada vršiš upload. Uopšte, uvek formiraj apsolutne putanje (into $variable or CONSTANT) za sve što ti treba/smatraš da treba, pre nego što kreneš da manipulišeš samim putanjama, menjaš im nazive, vršiš upload, brišeš fajlove.. foldere, kreiraš nove, itd.
[ Labyrinthman @ 14.07.2014. 17:23 ] @
@plus_minus

Hvala na savetu, pokusacu da uradim preko jedne od navedenih funkcija.
[ plus_minus @ 14.07.2014. 17:44 ] @
$_SERVER['DOCUMENT_ROOT'] ti je najpouzdanija, uvek vraća apsolutnu root putanju, polaznu tačku i za sve dalje/dublje od toga moraš dopisati .. za svaki nivo.

__DIR__ (magic constant) je malo drugačije. To će ti vratiti ne ROOT putanju, već apsolutnu putanju do direktorijuma, to jest fajla, odakle je pozvana sama __DIR__ m. konstanta..

dirname(__FILE__) je isto što i __DIR__ .. ukoliko se ne varam. __DIR__ m. konstanta je novijeg datuma i matorije verzije php-a nemaju pojma šta je to (mislim da više ni jedan setup i ne koristi te matorije verzije) ..

var_dump(), var_export(), print_r() - tvoji "drugari" na koje se vrlo često treba oslanjati. Smaranje jeste, ali nije za džabe.
[ Mystery @ 17.07.2014. 00:10 ] @
Ako i dalje neće probaj da staviš CHMOD 777 na folder "slike" ili nam daj error_report() šta kaže.
[ Labyrinthman @ 17.07.2014. 14:54 ] @
Hoce sad, uradio sam onako kako je plus_minus savetovao, stavio sam putanju sa $_SERVER['DOCUMENT_ROOT'] i sad lepo radi.

:)