Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Link za download
Author Message
oujea Offline
Novi korisnik
*

Posts: 54
Joined: Jul 2009
Reputation: 0
Post: #1
Link za download
posto sam pocetnik u PHP-u, zanima me kako mogu da npr imam stranicu download.php u kojoj ce biti ovaj kod:

Code:
Code:
<?php
header('Content-type: audio/MPEG');

header('Content-Disposition: attachment; filename="putanja-do-fajla.mp3" ');

readfile('putanja-do-fajla.mp3');
?>
i da se ovaj php includa u recimo audio.php gdje imam dosta linkova, i recimo ako su neki od njih na putanji

audio/fajl1.mp3
audio/fajl2.mp3

kad npr kliknem na download fajl2.mp3 da ucita ovaj download.php i umjesto "putanja-do-fajla.mp3" upise audio/fajl1.mp3, znaci da putanja u ovom fajlu zavisi od toga na koji link sam kliknuo u stranici sa linkovima? nadam se da ste me razumjeli
10-08-2009 09:40 PM
Find all posts by this user Quote this message in a reply
schmrz Offline
____
*

Posts: 569
Joined: Feb 2007
Post: #2
RE: Link za download
Možeš recimo napraviti download.php skriptu koja će iz GET parametara čitati koji je naziv fajla. A linkovi će ti izgledati ovako:
Code:
<a href="download.php?file=file1">...</a>
<a href="download.php?file=file10">...</a>
...

download.php:
PHP Code:
<?php
header
('Content-type: audio/MPEG');
header('Content-Disposition: attachment; filename="'.$_GET['file'].'.mp3" ');
readfile($_GET['file']."mp3");
?>

Naravno trebao bi se pobrinuti da ova skripta može pristupiti samo fajlovima u određenom folderu inače bi korisnici mogli iskoristiti ovu skriptu da čitaju i druge fajlove ( kao npr. fajl za konfiguraciju baze podataka ) sa tvoje stranice...

p.s.: download.php kod je ustvari ovaj gore kod koji si ti postavio, samo izmijenjen za primanje GET parametara, nije testiran.

I have no drinking problems. I drink. Get drunk. Fall down. NO PROBLEM
Registered As Linux User #484215
Moj skromni blog
Savjet za buduće programere: ovdje
10-08-2009 10:57 PM
Find all posts by this user Quote this message in a reply
oujea Offline
Novi korisnik
*

Posts: 54
Joined: Jul 2009
Reputation: 0
Post: #3
RE: Link za download
OK, hvala na ovome, na localhostu radi sasvim fino... a sto se tice toga da zastitim da se ne moze ostalim fajlovima pristupiti, nego samo folderu "audio", kako to odraditi? je li moze nekako if petljom, npr ako ne pocinje sa audio/ da izbaci alert neki ili?
10-08-2009 11:34 PM
Find all posts by this user Quote this message in a reply
Len0 Offline
Forumaš
***

Posts: 303
Joined: Mar 2007
Reputation: 3
Post: #4
RE: Link za download
Ako ces rucno dodavati svakom linku adresu zasto to raditi sa PHP?
Zar nije lakse najprostijim HTML-om? Mozda ja nesto propustam?

["hip","hip"]
(hip hip array!)
10-08-2009 11:48 PM
Find all posts by this user Quote this message in a reply
oujea Offline
Novi korisnik
*

Posts: 54
Joined: Jul 2009
Reputation: 0
Post: #5
RE: Link za download
ne znam jesam li najbolje shvatio tvoj post, ali ovako stvari stoje, na sajtu ima audio sekcija koja vuce iz baze nazive fajlova i link do njih, i trenutno pomocu toga vucem linkove na audio stranicu, sad da li mogu to iskoristiti u kombinaciji sa ovim gore da se svaki put pojavi dijaloski okvir, a opet da ne bude rupa da prvi haker uleti i sve to izmijesa He he
11-08-2009 12:42 AM
Find all posts by this user Quote this message in a reply
schmrz Offline
____
*

Posts: 569
Joined: Feb 2007
Post: #6
RE: Link za download
Eh to je nešto drugo ako ćeš putanje do fajlova zapisivati u bazi podataka i u tom slučaju umjesto naziva ćeš skripti proslijeđivati broj koji će predstavljati id polje fajla koji hoćeš da skineš. Ovako će samo fajlovi zapisani u bazi podataka biti dostupni korisnicima pa se ne moraš brinuti o iskorištavanju ove skripte u neke druge svrhe :-)

A što se tiče onog gore koda koji sam napisao... Bilo je kasno, malo se popilo i tako... Ali sada kada pogledam i nije tako loš kod, pogotovo ako svi fajlovi imaju ekstenziju mp3 i ne moguće je iskoristiti je za zločeste svrhe jer koji god naziv da se proslijedi dodat će .mp3 na kraj :)

I have no drinking problems. I drink. Get drunk. Fall down. NO PROBLEM
Registered As Linux User #484215
Moj skromni blog
Savjet za buduće programere: ovdje
11-08-2009 03:52 PM
Find all posts by this user Quote this message in a reply
oujea Offline
Novi korisnik
*

Posts: 54
Joined: Jul 2009
Reputation: 0
Post: #7
RE: Link za download
To je to hvala puno, izvinjavam se ako smaram, ali tek sada vidim kako je zanimljivo ovo programiranje u phpu :)
11-08-2009 06:11 PM
Find all posts by this user Quote this message in a reply
oujea Offline
Novi korisnik
*

Posts: 54
Joined: Jul 2009
Reputation: 0
Post: #8
RE: Link za download
eh evo ovo sam gotov napravio, sve radi super za sada :)

ima mali problemcic ali ja mislim da nije tesko rijesiti (bar vama :) ) a to je posto su linkovi za mp3 fajlove uvijek audio/xxxx.mp3, a znaci cijeli link je http://www.mojsajt.com/download.php?file...o/xxxx.mp3 i kad kliknem na ovo on hoce da skida neki fajl audio_xxxx.mp3, znaci zbuni ga ovaj slash, kosa crta, i promijeni je iz ne znam kojeg razloga u "_"....
11-08-2009 09:38 PM
Find all posts by this user Quote this message in a reply
schmrz Offline
____
*

Posts: 569
Joined: Feb 2007
Post: #9
RE: Link za download
Pa zar nisi odradio onako kako si govorio ( da ćeš u bazi imati zapisane putanje ) i da ćeš u file parametar ustvari proslijeđivati id polje fajla?

I have no drinking problems. I drink. Get drunk. Fall down. NO PROBLEM
Registered As Linux User #484215
Moj skromni blog
Savjet za buduće programere: ovdje
11-08-2009 10:44 PM
Find all posts by this user Quote this message in a reply
oujea Offline
Novi korisnik
*

Posts: 54
Joined: Jul 2009
Reputation: 0
Post: #10
RE: Link za download
pa tako sam i odradio, samo proslijedjujem u download.php iz baze polje "link", a ne id... ne znam kako bih mogao odraditi sa ID-om? :S

Evo kako sam trenutno odradio:

ovo je kod za link u audio.php:

Code:
$link= $row['link'];
$putanja=substr("$link",0,-4);
<TD align='right'><a href='download.php?file=$putanja' class='novosti'>".$row['akcija']."</a></TD>

gdje je akcija polje iz baze (download, youtube, ili pogledati moguce su opcije prilikom dodavanja linkova), a download.php sadrzi kod koji si mi ranije napisao.
11-08-2009 10:50 PM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 2 Guest(s)