Pomoc oko uploadovanja slika!

Moze li neko da mi objasni kako da napravimformu u kojoj cu slelektovati desetak slika iz svog racunara i klikom najednodugme ih uploudovati? Evo mog koda:

index.php

                               <form action="upload_file.php" method="post"
					enctype="multipart/form-data">
					<label for="file">Filename:</label>
					<input type="file" name="file" value="Dodaj slike" id="file">

					<input type="submit" name="submit" value="Dodaj slike">
				</form>


upload_file.php
<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "
";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "
";
  echo "Type: " . $_FILES["file"]["type"] . "
";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }

$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "
";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "
";
    echo "Type: " . $_FILES["file"]["type"] . "
";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "
";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "
";
    echo "Type: " . $_FILES["file"]["type"] . "
";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

Ovako mogu dodati jednu po jednu sliku i to funkcionise bas kako meni treba,samo sto bih ja da selektujem jedno desetak slika pa da se mogu dodati sveodjednom a ne jednu po jednu.Jel meze neko da pomogne?

mozes dodati element ovako

<input type="file" name="slika[]" />

i onda mozes kroz php, pomocu foreach, ili neke druge petlje, proci kroz svaki element posebno i odraditi to sto radis za jednu sliku

Uh gledam ovo preko fona,ne razumem bas najbolje posto sam pocetnik,tj. tek ucim PHP al probacu cim stignem kuci!Hvala u svakom slucaju na savetu,pokuscu da ga realizujem.
Pozz!

Uh gledam ovo preko fona,ne razumem bas najbolje posto sam pocetnik,tj. tek ucim PHP al probacu cim stignem kuci!Hvala u svakom slucaju na savetu,pokuscu da ga realizujem.
Pozz!

Pokusavao sam jutros do 5 da resim ovo ali nisam uspeo!Jel moze neko dami prepravi kod pa da vidim kako se to radi?Hvala unapred!

<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="m[]" />
<input type="file" name="m[]" />
<input type="file" name="m[]" />
<input type="file" name="m[]" />
<input type="file" name="m[]" />
<input type="submit"/>
</form>
<?php
for ($i=0;$i<count($_FILES['m']);$i++){
    echo $_FILES['m']['name'][$i]."
";
}
?>

Hvala puno,mislim da je to ono sto mi treba,isprobacu cim dodjem s’ posla.Samo jos nesto,ovu formu znam gde da smestim (u index.php) a gde da stavim ovu petlju na vrh na vrh upload_file.php fajla ili…?

for, iz ovog primjera stavis iznad toga sto radis za jedan file
kraj } stavis na kraj toga
i samo izmjenis… gdje imas tipa $_FILES[‘file’][‘name’] stavis da pise, kao u primjeru $_FILES[‘file’][‘name’][$i]

A joj sad si me zbunio skroz.To za $i sam razumeo ali ovo oko petlje nisam bas najbolje a nije mi tu laptop da probam.Aj ako ti nije tesko i ako ti ne oduzima puno vremena napisi mi komplean kod kaka izgleda (bar za dve slike) pa cu ja to prosiriti.Molim te pomozi da ne zaglavim opet do 5-6 ujutru!

ovo bi bila forma recimo

<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file[]"  id="file1">

<input type="file" name="file[]"  id="file2">

<input type="file" name="file[]"  id="file3">

<input type="file" name="file[]"  id="file4">

<input type="submit" name="submit" value="Dodaj slike">
</form>

ovo bi bio upload

<?php
for ($i=0;$i<count($_FILES['file']['name']);$i++){
    echo "
";
    $allowedExts = array("gif", "jpeg", "jpg", "png");
    $temp = explode(".", $_FILES["file"]["name"][$i]);
    $extension = end($temp);
    if ((($_FILES["file"]["type"][$i] == "image/gif")
    || ($_FILES["file"]["type"][$i] == "image/jpeg")
    || ($_FILES["file"]["type"][$i] == "image/jpg")
    || ($_FILES["file"]["type"][$i] == "image/pjpeg")
    || ($_FILES["file"]["type"][$i] == "image/x-png")
    || ($_FILES["file"]["type"][$i] == "image/png"))
    && ($_FILES["file"]["size"][$i] < 2120000) && ($_FILES["file"]["error"][$i]==0)
    && in_array($extension, $allowedExts)){
        echo "Upload: " . $_FILES["file"]["name"][$i] . "
";
        echo "Type: " . $_FILES["file"]["type"][$i] . "
";
        echo "Size: " . ($_FILES["file"]["size"][$i] / 1024) . " kB
";
        echo "Stored in: " . $_FILES["file"]["tmp_name"][$i]."
";
        if (file_exists("upload/" . $_FILES["file"]["name"][$i])){
            echo "<b>".$_FILES["file"]["name"][$i] . " already exists.</b>
 ";
        } else {
            move_uploaded_file($_FILES["file"]["tmp_name"][$i],
            "upload/" . $_FILES["file"]["name"][$i]);
            echo "<b>Uploaded to</b>: " . "upload/" . $_FILES["file"]["name"][$i]."
";
        }
    }
}
?>

Hvala ti puno!Proucicu ovo kad stignem kuci,baguje mi fon nesto.Nemas pojma koliku si mi uslugu ucinio,koliko si mi ustedeo vremena i zivaca!I naravno ono sto je najbitnije naucio si me kako se to radi!HVALA PUNO JOS JEDNOM!

    <?php
 mysql_connect('localhost','root','');
mysql_select_db('users'); 
for ($i=0;$i<count($_FILES['file']['name']);$i++){
	$ran_num =  mt_rand().mt_rand().mt_rand().mt_rand().mt_rand();
    echo "<br>";
    $allowedExts = array("gif", "jpeg", "jpg", "png");
    $temp = explode(".", $_FILES["file"]["name"][$i]);
    $extension = end($temp);
    if ((($_FILES["file"]["type"][$i] == "image/gif")
    || ($_FILES["file"]["type"][$i] == "image/jpeg")
    || ($_FILES["file"]["type"][$i] == "image/jpg")
    || ($_FILES["file"]["type"][$i] == "image/pjpeg")
    || ($_FILES["file"]["type"][$i] == "image/x-png")
    || ($_FILES["file"]["type"][$i] == "image/png"))
    && ($_FILES["file"]["size"][$i] < 1000000) && ($_FILES["file"]["error"][$i]==0)
    && in_array($extension, $allowedExts)){
        echo "Upload: " .$i ."_" .$ran_num. $_FILES["file"]["name"][$i] . "<br>";
        echo "Type: " . $_FILES["file"]["type"][$i] . "<br>";
        echo "Size: " . ($_FILES["file"]["size"][$i] / 1024) . " kB<br>";
        echo "Stored in: " . $_FILES["file"]["tmp_name"][$i]."<br>";
        if (file_exists("upload/".$i ."_".$ran_num . $_FILES["file"]["name"][$i])){
            echo "<b>".$_FILES["file"]["name"][$i] . " already exists.</b><br> ";
        } else {
            move_uploaded_file($_FILES["file"]["tmp_name"][$i],
            "upload/".$i ."_" .$ran_num. $_FILES["file"]["name"][$i]);
            echo "<b>Uploaded to</b>: ". "upload/" .$i ."_" .$ran_num. $_FILES["file"]["name"][$i]."<br>";
			$slika[$i]= "http://moj_sajt". "upload/" .$i ."_" .$ran_num. $_FILES["file"]["name"][$i]."<br>";
			echo $slika[$i];
        
    
$q = mysql_query("INSERT INTO `users`.`slike` (
 `id` ,
 `slika$i
 )
 VALUES (
 NULL , '$slika[$i]'
 );");
}}
}
?>

Ja sam ga malo prepravio da imam i random name i da mi se putanja upisuje u bazu (valjda samto dobro uradio)
Samo imam jedan problem!Ovim kodom svakoj slici dodeljujem ID.Da li je moguce i kako dodeliti 1 ID za svih 10 slika?Hvala unapred i pozz!!

pa svaka slika ti treba imati svoj id, jer je svaka jedinstvena,
to sto tebi, vjerujem treba, je to da povezes recimo tu ‘galeriju’ s nekim unosom u bazi…
bilo da je to vijest, bilo da je ‘galerija’ bilo da je bilo sto drugo…
ne vidim odakle bi dolazio onda taj id koji bi bio za sve slike isti?

E ovako to je vezano za postavljanje oglasa.Jedan korisnik moze da postavi maksimalno 10 slika,pa sam mislio da mozda mogu da imaju zajednicki ID.Kao sto korisnik ima 1 ID a pod istim ID-om su email,sifra,ime,prezime i td…Mislio sam da povezem ID oglasa sa ID-om slika tj. dal mogu da imaju zajednicki?Ili kako seto vec radi?Mozda sam uradio dobro a mozda i gresim,zato pitam vas za misljenje jer sam pocetnik pa neznam!

Trebao bi to napraviti na nacin da su ti sve slike zapisane u jednu tablicu, i svaka slika ima svoj unique id, ali takodjer ima id oglasa na koji je vezana.

Jesu,sve slike su u jednoj tabeli.A kako da joj dodelim unique ID?I sta to znaci uopste?I kako da ga vezem za ID oglasa?Kazem pocetnik sam pa neznam,svaka pomoc,i svaki savet dobrodosli!

Kak ja ovo nisam vidio jučer? :grin:
Uglavnom, ovaj post je ono što sam tražio jer ima par dobrih savjeta kako da se olakša posao.

dakle… imas taj neki oglas… koji si unio u bazu…
napravis query koji ti vrati njegov id(dakle id oglasa iz tablice u kojoj su oglasi)

u tablici gdje su ti slike bi trebao imati ovaku strukturu, pojednostavljena, ako ti treba jos polja, dodaj

id_slike naziv_slike id_oglasa

id_slike ti treba biti (big)int i stavis da je autoincreament(sto znaci da se automatski povecava za svaki unos, i tako ce ti svaka slika imati jedinstven broj - id)
naziv_slike je recimo taj generirani naslov -varchar 150
id_oglasa je id oglasa u tablici gdje su ti oglasi, polje stavis da isto kao sto je id u toj tablici, vjerojatno int

i onda kad unosis sliku u bazu, trebas unijeti samo naziv slike i id_oglasa, id_slike se automatski dodjeli…

ili, ovisno o strukturi fileova i logici…

ako pristupas recimo oglasu, pa u $_GET ILI $_POST requestima imas vec id oglasa, onda nemoras raditi query na bazu

Uradio sam kako si rekaoA reci mi zasto zs id slike (big)int a ne int?U cemu je razlika?


Copyright © 2022 WM Forum - AboutContact