Php upload slika

poruka: 15
|
čitano: 5.191
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Php upload slika

Pozdrav!

Imam php skriptu koja bi trebala napraviti mapu (naziv mape je različit, a dobije se putem uniqid()) i onda bi se trebale dignuti slike u tu mapu. Ona se uspješno napravi ali se slika ne digne u tu mapu nego izvan nje.

Ovo je kod:

 

$kod=$_GET["kod"];
while(list($key,$value) = each($_FILES[images][name]))
{
if(!empty($value)){  
$filename = $value;   
$filename=str_replace(" ","_",$filename);
$add = "/home/proba/public_html/login/$kod/$filename";  
copy($_FILES[images][tmp_name][$key], $add);               
}
}

 

Hvala!

 

 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Php upload slika

"/home/proba/public_html/login/$kod/$filename"; ovo nije u redu trebalo bi biti:

"/home/proba/public_html/login/".$kod."/".$filename;

ili?

vatrom
15 godina
neaktivan
offline
Php upload slika

Ista stvar se događa. Napravi folder, a sliku stavi izvan njega.

 
0 0 hvala 0
15 godina
neaktivan
offline
Php upload slika

Pozdrav,

 

imam jedan problemček oko uploada slika također...

Imam situaciju ovakvu: zadatak je napraviti aplikaciju unosa filmova: ime filma, trajanje, još neke stvari i upload slike...

E tu dolazim do problema, dakle ja imam folder već sa tim slikama u računalu i dakle u aplikaciji uploadam sliku od tamo i to sve radi.. Zatim se ti svi podaci spreme u MySQL bazu i to radi...  E, sad... ispod te aplikacije za unos moram napraviti tablicu koja izbacuje ime, trajanje, brisanje i da se ta slika prikazuje... E tu dolazim na problem jer ne znam kak napisati točno naredbu tj. kod da mi uzima te slike koje su uploadane te da se prikazuju u toj tablici... dakle samo uploadane tj. one koje sam netom unio u bazu?? Zahvaljujem se na bilo čemu i bilo kakvom odgovoru... 

 
0 0 hvala 0
11 godina
neaktivan
offline
Re: Php upload slika

Nisam se nikad susreo sa ovakvim načinom uploada.

 

Moj način bi bio sljedeći :

1.unos svih datoteka , u ovom slučaju slika.

2.iteracija kroz sve te slike

3.prebaciti uplaodane slike sa servera u folder

 

Forma isto tako treba biti napravljena na pravi način (odabran višestruki upload slika) kao npr.

<form action="" method="POST" enctype="multipart/form-data"> <input type="file" name="images[]" /> <input type="submit" name="submit" value="Uploadaj više slika"/> </form>
Kako je action="" prazan koristi se ista stranica tako da na vrhu stranicu je potrebno ispitati da li je pritisnut submit
<?php
if(isset($_POST["submit"])) {
echo "Gumb za uplaod pritisnut";
}
?>

Nakon toga potrebno je ispitati da li ima uopće datoteka ( to se može ispitati i na početku )
<?php
if(isset($_POST["submit"]) && isset($_FILES["images"])) {
echo "Gumb za uplaod pritisnut i imamo odabrane datoteke";
}
?>

Sada je potrebno iterativno proći kroz svaku datoteku i uploadati je u folder
<?php

$folder = "putanja/do/foldera/";

if(isset($_POST["submit"]) && isset($_FILES["images"])) {
foreach($_FILES["images"]["tmp_name"]){
$naziv = $_FILES["images"]["name"];
$naziv = str_replace(" ","_",$naziv);
$privremeniFile = $_FILES["images"]["tmp_name"];
move_uploaded_file($privremeniFile, $folder.$naziv);
}
}
?>

To je ukratko ovdje napisano. Inače bi to bilo puna veća skripta sa provjerom errora kao npr. krivi format ( u slučaju da ne bi netko uploadao slika.docx i sl. ), provjerom postojanja već slike sa istim imenom, unos u bazu podataka kako bi se podaci slike spremili itd.

Ti se poigraj malo sa ovime pa vidi da li ti može poslužiti.

11 godina
neaktivan
offline
Re: Php upload slika

@Smiley :

Ovisi kako si spremio sliku. Moraš nam reći ovdje u kojem formatu si spremio sliku tj. na koji način si spremio sliku.

 

Jedan od načina je da se slika sprema u folder koji ima naziv njenog id, a njoj se naziv preimenjuje u npr. original.jpg pa onda prikazuješ sliku kao putanja/do/slike/ID/Original.jpg

 

Ako si je spremao u BLOB formatu, čest način prikazivanja takvih slika je poseban php file npr pod nazivom slika.php. pa u src od img taga staviš slika.php?id=ID_SLIKE

Primjer možeš pogledati ovdje : http://stackoverflow.com/questions/6048600/save-image-as-a-blob-type

 

 

 

Poruka je uređivana zadnji put uto 19.11.2013 10:28 (LakoTuts).
15 godina
neaktivan
offline
Re: Php upload slika

Hoj...

 

Pa ovak: ja bi trebao situaciju napraviti da kada uploadam sliku iz foldera (blabla.jpg) da mi se prilikom stiskanjem gubma spremi ta slika spremi u drugi folder ,a u bazi da imam samo putanju do te slike u folderu koja će ju povezati sa folferom od slika i prikazivati u tablici ispod forme za unos kod je ovako otprilike:

 

http://pastebin.com/u7By065E

 

 

dakle ovo radi sad na način da uzima mi slike iz foldera "slike" i poveže ih sa nazivom u bazi i tako na kraju dobim sliku pri ispisu u tablici koja je unesena... ali ja bi trebao ne to nego u biti da prilikom unosa slike iz foldera slike, ta slika koju spremam se spremi negdje na disk te da se u bazu spremi putanja do te slike te se isto ispiše kao sad ove kaj se ispisuju{#}

Poruka je uređivana zadnji put sri 27.11.2013 11:57 (Smileyyy).
15 godina
neaktivan
offline
Php upload slika

Dakle meni je u biti važno da spremim slike na neki dio na računalu - folder ili nešto i onda bi napravio da je to putanja taj folder,a ne ovaj od kud uploadam slike... dakle nisam ziher kak bi spremio slike na neko mjesto u računalu priliko stiskanja gumba spremi na kraju forme unosa... {#}

 
0 0 hvala 0
11 godina
neaktivan
offline
Re: Php upload slika

Ok, onda ajmo ovako, pokušat ću ti donekle to riješiti ovako napamet tako da je moguće da ima bugova ili da nije u potpunosti funkcionalna.

Kopirao sam samo dio tvojeg koda sa pastebin-a

Slika uzimaš preko $_FILES varijable, a ne preko $_POST :)

$slika = $_FILES["file"];

//Definiramo folder u koji spremamo (folder na serveru)
  //npr. uploads/slike/
$folder = "putanja/doFoldera/";
$imeSlike = $slika['name'];
$verzijaSlike = $slika["type"];
$dobraSlika = false;
if(($slika["type"] == "image/gif")
|| ($slika["type"] == "image/jpeg")
|| ($slika["type"] == "image/jpg")
|| ($slika["type"] == "image/pjpeg")
|| ($slika["type"] == "image/x-png")
|| ($slika["type"] == "image/png")){
$dobraSlika = true;
}
if($dobraSlika){
     //Provjera da li slika postoji ( Postoji šansa da će slike biti istog naziva)
    //Ako postoji već slika generiramo random broj i stavljamo ispred naziva slike
     if (file_exists($folder.$slika["name"]))
      {
     $imeSlike = rand() ."_". $imeSlike;
      }
 
      if( move_uploaded_file($_FILES["file"]["tmp_name"],$folder.$slika["name"]) ){
      //Ako je slika uspješno uploadana, dodaj je u bazu (inače nema smisla trošiti resursa baze ako slika nije uploadana
      $putanjaDoSlike = $folder.$slika["name"];

      $query  = "INSERT INTO filmovi

              (naslov, id_zanr, godina, trajanje, slika)
              VALUES
              ('".$naslov."', '".$zanr."', '".$godina."', '".$trajanje."', '".$putanjaDoSlike."')";
             
         $result = mysql_query ($query) or die (mysql_error());
       if ($result)//Dobro bi bilo provjeriti da li $result daje rowove ili ne, a ne da li je uspješno izvršena naredba
      {
         echo 'Uspješno ste spremili podatke';
      } else
      {
         echo 'Došlo je do pogreške pri unosu. Pokušajte ponovno';
      }
      //End if $uploaded File
     } else { echo "Došlo je do pogreške prilikom spremanja slike";}
//END if $dobraSlika
}else { echo "Slika nije u dobrom formatu!";}

Sada kada dohvaćaš sliku iz tablice prikazuješ je na način da upišeš u src od slike sljedeće, ne znam šta ti je $path varijabla pa ti ovako pišem :
....<img src="http://www.tvojaDomena.com/'$slika.'" /> ......
ove točkice označavaju da se nešto nalazi ispred i iza, ovo sam isto uzeo iz tvog bin-a.
ako je $path jednak ovome ispred, odnosno tvojem server URL, tada je to ok i možeš ostaviti onakav file, ako nije treba konfigurirati to.
Probaj pa javi, vjerojatno ćeš morati nešto još sređivati.

 

www.lakotuts.com
Poruka je uređivana zadnji put sri 27.11.2013 13:25 (LakoTuts).
15 godina
neaktivan
offline
Re: Php upload slika

uf , probavam cijelo jutro i nikak da dobim... jednostavno nemrem nikak spremit ju u novi folder, non stop mi ostaje prazan, ne znam kaj krivo delam... i onda naravno kad stavim putanju do foldera da mi je prazna slika...  {#}{#}

15 godina
neaktivan
offline
Php upload slika

Mislim da mene najviše muči di bi to umetnuo, taj dio koda.... između čega... ispred čega..? :/

 
0 0 hvala 0
11 godina
neaktivan
offline
Php upload slika

Odgovoreno ti je u privatnoj poruci. A za ostale ako hoće vidjeti rješenje imaju na sljedećem linku: http://pastebin.com/xLE53rS3

 

www.lakotuts.com
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Php upload slika

Pak mi javlja da nije slika uploadana tj. da se nije uspjela... što se tiče foldera imam jedan naziva "slike" di su kao te slike kaj uploadam u aplikaciju ,a onaj folder "spremljene_slike" tam sam mislio da mi se te privremene kao uploadaju i od tam da ih vuče tj. ispisuje dole na stranici... tj. takava mi je zadatak pa moram tak... inače sam riješio u kratko tak da sam stavih $path = "slike/" i uzeo varijablu $slike ["file"]; i povezao kod ispisa u talbici samo '$path.$slike' i onda je to išlo al ovak... {#}{#}

11 godina
neaktivan
offline
Re: Php upload slika

Pretpostavljam onda da ti je bila kriva putanja namještena. Treba paziti gdje se sprema. Ja nisam napravio u skripti da se stvori folder ako ga nema iako je i to moguće ali kako pišem ovako napamet nisam želio da ti nešto još zeznem.

 

Ako ti sada radi ovako super, probaj sada rješavat i mijenjat folder i putanju pa vidi kako šljaka to.

www.lakotuts.com
15 godina
neaktivan
offline
Re: Php upload slika

hm, stalno javlja slika nije u dobrom formatu (slike su mi u jpg i jpeg formatu)... a, kada maknem dio koda koji se brine za to, pak veli došlo je do pogreške kod uploadanja...  {#}

Poruka je uređivana zadnji put uto 3.12.2013 11:01 (Smileyyy).
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice