Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP - putanja do fajla?

[es] :: PHP :: PHP - putanja do fajla?

[ Pregleda: 2471 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon PHP - putanja do fajla?14.09.2012. u 13:05 - pre 141 meseci
Počeo sam da pravim neki web sajt za upload slika, i skoro da završavam samo imam mali problem...

Kada korisnik izabere sliku i pritisne upload ona treba da ode u bazu i očita se ponovo iz baze u browseru, e sada je problem taj što mi izabrana slika ne daje celu putanju, pa da bih mogao da je uzmem iz baze, nego daje samo ime slike, a meni treba cela putanja da bih je prikazao u "<img src=".putanja...

I treba mi savet:
Da li je bolje slati putanju slike u MEDIUMBLOB ili VARCHAR?
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6279

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 13:27 - pre 141 meseci
Ako sliku drzis u bazi, onda moras da je izvuces iz baze, snimis u neku privremenu datoteku i u HTML stavis link do te datoteke. Medjutim, to je vrlo losa praksa.

U bazi treba da drzis samo id slike (ime datoteke ili sta vec) ili eventualno i putanju zajedno sa imenom datoteke u koju si prethodno snimio sliku. VARCHAR je za to sasvim dobar.

 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.adsl.verat.net.



+373 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 13:47 - pre 141 meseci
Pa ti dodaj rucno ostatak putanje ako je on konstantan.
Kada formiras <img> element napisi "<img src='./images/KojaGodPutanja/{$red_iz_baze['PictureName']}'/>";
 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 13:54 - pre 141 meseci
Citat:
Predrag Supurovic:
Ako sliku drzis u bazi, onda moras da je izvuces iz baze, snimis u neku privremenu datoteku i u HTML stavis link do te datoteke. Medjutim, to je vrlo losa praksa.

U bazi treba da drzis samo id slike (ime datoteke ili sta vec) ili eventualno i putanju zajedno sa imenom datoteke u koju si prethodno snimio sliku. VARCHAR je za to sasvim dobar.


Znači preko VARCHAR-a, ok...

Samo mi napiši ako nije problem kako da izvučem putanju selektovanog fajla koji neko selektuje?

Pokušao sam
Code (php):

$ime = $_FILES['file']['name'];
 

ali varijabla $ime logicno izbacuje samo naziv selektovanog fajla, a ne celu putanju jer je druga vrednost [name], je l' postoji nesto kao [path] ili slicno?
 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 14:01 - pre 141 meseci
Citat:
plague:
Pa ti dodaj rucno ostatak putanje ako je on konstantan.
Kada formiras <img> element napisi "<img src='./images/KojaGodPutanja/{$red_iz_baze['PictureName']}'/>";


Znam to nije problem, problem je kako naci korisnikovu putanju da bi je prosledio u bazu..

iz baze znam kako cu :)
 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.adsl.verat.net.



+373 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 14:14 - pre 141 meseci
Nisam te razumeo. Kada korisnik uploaduje sliku, ona dobija privremeno ime kome pristupas sa: $_FILES["file"]["tmp_name"]
Koristi to ime da je fizicki snimis negde na serveru preko: move_uploaded_file($_FILES["file"]["tmp_name"], "./images/KojaGodPutanja/" . $_FILES["file"]["name"]);
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6279

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 14:20 - pre 141 meseci
Zvučiš kao da nisi pročitao ama baš ništa od gomile tutorijala na temu uploada datoteka.

Kada korsinik uploaduje datoteku ona postoji samo privremeno. Podaci u $_FILES ti daju osnovne inforamcije o toj datoteci ali da bi ona zaista bila sačuvana negde da je kasnije korsitiš moraš je ti sam premestitti funkcijom move_uploaded_file(). kada je premestiš tada ćeš i znati gde si je premestio to jest putanju do datoteke, pa to sačuvaj.




 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 14:34 - pre 141 meseci
Mislim da me ne razumete...

koristio sam move_uploaded_file();
i slika se sacuva na odredjenoj lokaciji, ali ja ne bih da mi korisnikova slika ide u neki moj folder, nego samo njena putanja koja ide u bazu, i kasnije izvlacim tu putanju u img src..

evo grubog koda, kojeg jos nisam ni debugovao..
Code (php):

<form action="upload.php" method="POST" enctype="multipart/form-data">
Naziv sajta:<input type="text" name="ime_sajta">
<p></p>
URL:<input type="text" name="url">
<p></p>
Kategorija:<select name="kategorija">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>
<p></p>
<input type="file" name="file"><br><br>
<input type="submit" name="btn" value="Upload">
</form>

<?php
$host_name = "localhost:****";
$db_username = "*****";
$password = "******";
$db_name = "*****";

$ime_sajta = htmlentities($_POST['ime_sajta'], ENT_QUOTES, "UTF-8");
$url = htmlentities($_POST['url'], ENT_QUOTES, "UTF-8");
$kategorija = htmlentities($_POST['kategorija'], ENT_QUOTES, "UTF-8");
$logo_sajta = htmlentities($_POST['file'], ENT_QUOTES, "UTF-8");

$ime = $_FILES['file']['name'];
//$velicina = $_FILES['file']['size'];
$tmp_name = $_FILES['file']['tmp_name'];

if(isset($_POST['btn'])){
$extension = strtolower(substr($ime, strpos($ime, '.') + 1));
$kon = mysql_connect($host_name,$db_username,$password) or die(mysql_error);
mysql_select_db($db_name) or die(mysql_error);
     if(!empty($ime_sajta) || !empty($url) || !empty($kategorija) || !empty($logo_sajta) && $extension == 'png' || $extension == 'gif')
     {
          if(move_uploaded_file($tmp_name, $ime))
          {
               mysql_query("insert into sajtovi(ime_sajta, url_sajta, logo_sajta) values('" . $ime_sajta . "','" . $url_sajta . "','" . $kategorija . "','" . $logo_sajta . "')") or die('podaci nisu uneseni u bazu!');
               $result = mysql_query("select logo_sajta from sajtovi where ime_sajta=".$ime_sajta.'')
               while($rows = mysql_fetch_array($result)
               {
               echo 'Podaci su uspesno uneseni u bazu.';
               echo '<img src='.$rows['logo_sajta'].'/>';
               echo '<p>'.$rows['ime_sajta'].'</p>';
               }
          }
          else
          {
               echo 'there is some error';
          }
     }
     else if($extension!='png' || $extension!='gif')
     {
          echo 'Logo moze biti samo u PNG ili GIF formatu';
     }
     else
     {
          echo 'Izaberite logo...';
     }
}
?>
 
 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.adsl.verat.net.



+373 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 14:47 - pre 141 meseci
Tek sada te nista ne razumem. Da li ti hoces da korisnik sacuva sliku (kao npr na forum sto uploadujes avatar) ili hoces da korisnik ima sliku koja je negde na drugom serveru(da cuvas URL do slike)?

Ako hoces da korisnik napise URL, ne znam zasto si onda uopste dovlacio sam file(sliku) ako vec neces da je sacuvas kod sebe, nego preuzimas sa drugog mesta?
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2242
*.dynamic.isp.telekom.rs.

Sajt: https://hardcoder.xyz


+2247 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 14:57 - pre 141 meseci
Čuvaš slike u posebnom direktorijumu koji može da bude na dohvat ruke bilo kome. Dakle, neki front-end direktorijum koji je vidljiv iz -view html source-. Slike koje su vezane za bilo šta iz baze, čuvaš u pod direktorijumu, ili drugoj lokaciji, front-end. Za ime slike daš lepo naziv $timestamp.'-'.$db['imgID'].'.jpg'; a $timestamp i $db['imgID'] - to čuvaš u bazi. I posle kroz petlju ili kako god.. praviš 'match' za name i ispisuješ.. Ne moraš timestamp, već bilo šta što će načiniti sliku unikatnom, možda je samo imgID dovoljan? Tvoja stvar da odlučiš. Za sve hotlinkere, kasnije, ukoliko bude problema, imaš lagana rešenja pomoću .htaccess-a.

Da bi dobio direktorijum za front-end tako da polazna tačka uvek bude kroz server path, a da to bude funkcionalno i logično, da se ne vidi u pretraživaču, možda ti ovo može pomoći? http://www.elitesecurity.org/p3143642

I zašto koristiš while petlje.. ? While i do/while .. sporo.

[Ovu poruku je menjao plus_minus dana 14.09.2012. u 16:15 GMT+1]
about:networking
 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 15:31 - pre 141 meseci
Citat:
plague:
Tek sada te nista ne razumem. Da li ti hoces da korisnik sacuva sliku (kao npr na forum sto uploadujes avatar) ili hoces da korisnik ima sliku koja je negde na drugom serveru(da cuvas URL do slike)?

Ako hoces da korisnik napise URL, ne znam zasto si onda uopste dovlacio sam file(sliku) ako vec neces da je sacuvas kod sebe, nego preuzimas sa drugog mesta?


Pazi radi se o sajtu koji promovise druge sajtove, dakle stavlja njihov logo i promoviše ih...

Korisnik mora da se registruje i uloguje da bi pristupao upload delu, u upload delu korisnik stavlja ime sajta, url sajta, SLIKU sajta i kategoriju sajta...

E sada kada se potvrdi submit svi podaci, zajedno sa korisnikovom putanjom idu u bazu

kada sam ovo napisao shvatio sam grešku :S ja sam server ne moguće je da mi nečija putanja stigne a da se posle prikaže :O

znači moralo bi da se svaka slika čuva u jednom direktorijumu, a ne bazi? :O
sad sam zbunjen..
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2242
*.dynamic.isp.telekom.rs.

Sajt: https://hardcoder.xyz


+2247 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 15:35 - pre 141 meseci
Ne sekiraj se..
I mi smo.

Citat:
kada sam ovo napisao shvatio sam grešku :S ja sam server ne moguće je da mi nečija putanja stigne a da se posle prikaže :O


Moraš da budeš razgovetan ukoliko hoćeš da ti neko pomogne. Shvati.
about:networking
 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 15:47 - pre 141 meseci
Citat:
plague:
Pa ti dodaj rucno ostatak putanje ako je on konstantan.
Kada formiras <img> element napisi "<img src='./images/KojaGodPutanja/{$red_iz_baze['PictureName']}'/>";


Pročitao opet ovo i skontao...

dakle da sumiramo, vi me ispravite ako grešim

u bazu šaljem samo ime slike....
sliku šaljem recimo u wamp/www/sajt/slike

posle pokazujem tu sliku ovako:

echo "<img src=/sajt/slike/ . '" red_iz_baze['kolona_iz_baze'] . '"/>";

?
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2242
*.dynamic.isp.telekom.rs.

Sajt: https://hardcoder.xyz


+2247 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 15:48 - pre 141 meseci
Tako je. Tako nekako. :)
about:networking
 
Odgovor na temu

Boyka
BPS

Član broj: 287185
Poruke: 338
*.dynamic.isp.telekom.rs.



+33 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 15:52 - pre 141 meseci
Citat:
plus_minus:

I zašto koristiš while petlje.. ? While i do/while .. sporo.

[Ovu poruku je menjao plus_minus dana 14.09.2012. u 16:15 GMT+1]


Da stavim for?

 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.adsl.verat.net.



+373 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 15:57 - pre 141 meseci
Ovako, <img> preko src atributa pristupa lokaciji sa koje uzima sliku. Ta lokacija moze biti udaljena i u tom slucaju koristis URL da bi prikazao sliku. Ako nije udaljena najcesce se koristi relativna putanja. Relativna putanja je putanja u odnosu na stranicu na kojoj slika treba da se prikaze.

Sliku mozes cuvati na vise nacina:
- U nekom folderu na serveru
- Direktno u bazi
- URL do udaljene slike

Prvi slucaj je najcesci. U tom slucaju u bazu cuvas lokaciju do slike. Mozes samo ime, pa posle da ti sam dodas ostatak putanje koji je fiksan, a mozes i veci deo relativne putanje. Kako god, tebi je bolje.

Drugi slucaj jeste moguc ali se redje koristi. Tada se slika bukvalno upise u polje tabele. Po meni je to bespotrebno komplikovanje i opterecivanje baze.

Treci, nema sta da se filozofira, samo ubacis URL u src. Neki serveri zabranjuju ovakav prikaz.

Edit zbog postova u medjuvremenu:

Ako se tebi stranica na kojoj prikazujes sliku nalazi u folderu "sajt", a slika nalazi u folderu "slike" koristi neku od sledecih putanja:
- src="slike/[ImeSlikeUzetoIzBaze]"
- src="./slike/[ImeSlikeUzetoIzBaze]"
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2242
*.dynamic.isp.telekom.rs.

Sajt: https://hardcoder.xyz


+2247 Profil

icon Re: PHP - putanja do fajla?14.09.2012. u 15:57 - pre 141 meseci
@Boyka

Ako ti taj deo koda ne pravi greške i radi kako očekuješ i sa while do/while, ne moraš.
Dakle, putanje za uploadovane slike, isto kao i za sve relativne putanje u okviru html source koda. Kako linkuješ css, js, tako i slike. Uvek ili front-end/relative ili URL.
about:networking
 
Odgovor na temu

[es] :: PHP :: PHP - putanja do fajla?

[ Pregleda: 2471 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.