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

Pomoc pri izradi PHP aplikacije za download

[es] :: PHP :: Pomoc pri izradi PHP aplikacije za download

[ Pregleda: 933 | Odgovora: 19 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Pomoc pri izradi PHP aplikacije za download19.10.2007. u 18:29

Napisao sam sledeci kod koji ce stititi tacnu adresu na kojem se nalazi fajl kada korisnik pokrene download.

Code:
<?php
// Fajl za preuzimanje smesten na lokalnom racunaru
$local_file = 'software.zip';

// Ime koje ce biti pripisano fajlu pri pokretanju preuzimanja
$download_file = rand(0,100000);

// Postavite maksimalnu brzinu, tj. maksimalnu brzinu kojom ce korisnik preuzimati fajl
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
    // Slanje
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);

    // Sadrzaj
    flush();

    // Fajl
    $file = fopen($local_file, "r");

    while(!feof($file))
    {
        // Slanje delova fajla browseru
        print fread($file, round($download_rate * 1024));

        // Sadrzaj
        flush();

        // Sadrzajs
        sleep(1);
    }

    // Kraj
    fclose($file);}
else {
    die('Greska: Fajl '.$local_file.' ne postoji!');
}
?>

E sada posto ja to ne bih da radim rucno, da li ima bilo ko zainteresovan da mi pomogne pri razvoju ovog. Tacnije treba mi samo jedna forma za unos imena fajlova, i mesta fajla i da na pravim link ovog tipa download.php?id=851236975, znaci da bude id u bazi podataka a da kada pokrenem taj link izvrsava skriptu koju sam prethodno napisao. Znaci jedna baza koja ce da skuplja imena fajlova a ova funkcija da izvrsava.

Help me:)
19.10.2007. u 18:29 

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.224.*

ICQ: 351092125
Sajt: www.miticdjd.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download21.10.2007. u 01:04
Npr ovako
Code:

<?php
$host='localhost';   //gde se nalazi baza
$user='korisnicko';  //Username za bazu
$pass='sifra';  //Sifra...
$base='baza'; //Bazu koju oces da koristis
$con_mysql=@mysql_connect("$host", "$user", "$pass");  //Konektuje se na bazu
$select_mysql=@mysql_select_db($base);  //Selektuje bazu

if (!$con_mysql or !$selct_mysql){     //Proverava da li postoji neka gresku u vezi konektovanja na bazu
echo "Greska, ne mogu se konektovati na bazu.";  
}

$id = $_POST['id']; //Uzima vrednost iz download.php?[b]id=454[/b]
$file = "SELECT * FROM table WHERE id='$id'";  //"table" ime tabele koje korisitis
$check = mysql_query("$file");
while ($file_r = mysql_fetch_array($check){

$file_name = $file_r['download'];   //Gde se nalazi fajl npr software.zip

}

// Fajl za preuzimanje smesten na lokalnom racunaru
$local_file = $file_name;

// Ime koje ce biti pripisano fajlu pri pokretanju preuzimanja
$download_file = rand(0,100000);

// Postavite maksimalnu brzinu, tj. maksimalnu brzinu kojom ce korisnik preuzimati fajl
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
    // Slanje
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);

    // Sadrzaj
    flush();

    // Fajl
    $file = fopen($local_file, "r");

    while(!feof($file))
    {
        // Slanje delova fajla browseru
        print fread($file, round($download_rate * 1024));

        // Sadrzaj
        flush();

        // Sadrzajs
        sleep(1);
    }

    // Kraj
    fclose($file);}
else {
    die('Greska: Fajl '.$local_file.' ne postoji!');
?>
}


Pre svega ovoga potrebno je da imas bazu podataka sa najmanje dva polja (id i download). U id smestas njegov broj a u polje 'download' pises putanju do fajla primer 'software.zip' ili 'download/software.zip'.
Mozda ima neka greska sobzirom da je sada 2:00AM a i kucao sam ovde tako da je moguce da sam napravio neku gresku
I da nisam proveravao tvoj kod tako da ako on radi sve bi trebalo da radi
21.10.2007. u 01:04 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download01.11.2007. u 22:21
Zeza kod na liniji gde je "while"...

Code:
while ($file_r = mysql_fetch_array($check){
01.11.2007. u 22:21 

Aleksandar Ružičić
Aleksandar Ružičić
Senior Developer, Haragei d.o.o
Beograd - Čačak

Član broj: 26939
Poruke: 1938
*.dynamic.adsl.itsisp.net.

Jabber: krcko@haragei.com
Sajt: krcko.haragei.org


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 03:02
pa fali jedna zaatvarajuca zagrada )

while ($file_r = mysql_fetch_array($check)){
02.11.2007. u 03:02 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 08:40
Da, to sam ja odmah rešio ali samo da postavim i ovo je bila greška...

Code:

    die('Greska: Fajl '.$local_file.' ne postoji!');
?>
}


Treba koliko mi se čini ovako...

Code:

    die('Greska: Fajl '.$local_file.' ne postoji!');
}
?>


I sada kada sam sve izmenio kod izgleda ovako...

Code:

<?php
$host='localhost';   //gde se nalazi baza
$user='root';  //Username za bazu
$pass='root';  //Sifra...
$base='system'; //Bazu koju oces da koristis
$con_mysql=@mysql_connect("$host", "$user", "$pass");  //Konektuje se na bazu
$select_mysql=@mysql_select_db($base);  //Selektuje bazu

if (!$con_mysql or !$selct_mysql){     //Proverava da li postoji neka gresku u vezi konektovanja na bazu
echo "Greska, ne mogu se konektovati na bazu.";  
}

$id = $_POST['id']; //Uzima vrednost iz download.php?[b]id=454[/b]
$file = "SELECT * FROM tabela WHERE id='$id'";  //"table" ime tabele koje korisitis
$check = mysql_query("$file");
while ($file_r = mysql_fetch_array($check)){

$file_name = $file_r['download'];   //Gde se nalazi fajl npr software.zip

}

// Fajl za preuzimanje smesten na lokalnom racunaru
$local_file = $file_name;

// Ime koje ce biti pripisano fajlu pri pokretanju preuzimanja
$download_file = rand(0,100000);

// Postavite maksimalnu brzinu, tj. maksimalnu brzinu kojom ce korisnik preuzimati fajl
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
    // Slanje
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);

    // Sadrzaj
    flush();

    // Fajl
    $file = fopen($local_file, "r");

    while(!feof($file))
    {
        // Slanje delova fajla browseru
        print fread($file, round($download_rate * 1024));

        // Sadrzaj
        flush();

        // Sadrzajs
        sleep(1);
    }

    // Kraj
    fclose($file);}
else {
    die('Greska: Fajl '.$local_file.' ne postoji!');
}
?>


Svaki put kada pokusam da preuzmem fajl preko download.php?id=1 dobijem poruku

Citat:
Greska, ne mogu se konektovati na bazu.Greska: Fajl ne postoji!


U atacmentu je i baza i kod i probni file.

Pozdrav,
Prikačeni fajlovi
02.11.2007. u 08:40 

Whois

Član broj: 92214
Poruke: 32
*.kovnet.co.yu.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 13:55
naravno da ne radi kada u programu uzimas id preko POST-a a ti koristis GET za download.

zameni
$id = $_POST['id'];
sa
$id = $_GET['id'];
02.11.2007. u 13:55 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 20:24
Sada zeza na sledecim linijama....

Code:

    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);


Normalno vidi fajl ali mi u browseru ne daje da preuzmem vec otvori i prikaze kao tekst.

Evo primera...

Code:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\download.php:10) in C:\xampp\htdocs\download.php on line 36
Rar!�ϐs�� �������˜^t -�Ìï��|� FÎðaa73� ���Logo.jpg�ð¨ÔU!QQ•U˜Ú(ب–D¶ R(%”ü ›-¡H z•Ú–’ÂXªQPRÒ[Q”´ˆ%"Ij’Ú[KTU€Õ( «¸Û½óv¾wœï{Îs¾cÎwž{ï¾w½å`Sª©ÔjuÎbf¿ÊDj"3˜Öµ1ý™œN'㯌Æ&u9ˆÏÇáñǾ_[^[�\[Ðϸü�ŽXÿ»îýÿ¿¸üVçw¹Üî?DÈÀÃu»42443233ÞowûïÏ6Þþ§|u¾6789üÃCS³Ã£ƒÍÿêÎ?§./-ñ¿4Ç糍çÍçó½|}€ ·eð,¥åÜ0q·ÐÿÎøØ�õˆ»r]ü9òè»ëOÒ}цìÇê¹l%6ûæÏšþ¿}yýóÁn,)n8 Á¶ç~‚™Éݱô 8og ½ˆÿ&ï‰Ê£­9dº„Ñ|†ùðëëñïŠˆŠŒŽž ¢¤¦¨«ËûÖ–×W—ÙyÌÌí -Mn''7GWgÞ«óüZ ³ÚíÃÄw;±22Rr’½ÿ´ÌÔÜäì÷–Í餥¦õ õÓÔWWØXÙYûm-nï/o¯ð>8CädåeæfçgÕÖר!²Gko÷týŽ/.þ~¿-fß%öWì¶àÃòãõP¾Ûæ²Û­ÿ%ŒÃ öoÃü7g¯³?ˆcÄNdsø]}•BO†?÷wßßîݘoÆŸãßû:p€þ'Ümõœ� fbQ@Ÿ7áø~‡áø~‡áø~‡áø~+ÿ¬W´sÍ|’%„Â-çV ¾=íê±ôÔƒë‘2á�ˆ&pØ3·–µãuÂÝÌþµ×ì9jÌ öÖj?\ !îR¹›/©MUê—n}zë‡]Ši¯ˆ²]†ÝÄI<ð@ ìöëëŸñ‡DVn¾¢Dß|ŽT¨Î¡"VS’JOäxºEuÙé J'h²o¢¶Ú;­ǯEܳá0@µAs­‰Ÿ\g”Jz™©QÊK¨G´™·™DDOÞ:«ŠÜæÕy¯ÜëÚHÊAm‚ÊöˆOk¤ü;³_à;oU¼¢=^<¼¿`ªÈ÷ØP‚>+‰=ë”Ós”ë7µeMÇÅ'd×Tí.ÀÍõÔÊY¾‹ôrBöá‡.nJáÅËþ¶¼òÏ[02˜AYêìTÿ] œ g#íКO½œŸJ=t @Y; ñc™Xxi¡©*Œ ßÕ¸>uäB¾çœ09’Äw±8ó£e.Ø2E6pˆÛòÎi#/†.(†3.‘úáS'Q¨Ï¤ w.²„ÞÈES¡ÖÜ’AMLiR 9'u8÷qÀÛÇåqÌ}^¸±¹— ³j¸œÛq…Ÿ¤ç‚­ ¸(|ÁÌßœøà+À=iŸ¡ècÚÝ"P ·h%ãø¬ÂÙ ¶Ù¸Ÿb7;’5²¶WS[ùñ˜+N'£jìÌ„3çØ2 DÉg¾'öÈnÔ#\7"åF1èV$…yìüðÍw_¿4›c» ­^¤|á¿Á÷�ÙÚs9Õ¦8¿sŒ[èäƒì)¹A㣚yö’2³ú’Ù‘@¥%væÌûi·oWJÇ«õ ™Æ›3Íbԣ͝˜W@e{a Û,Õ,׃ÖWµÆà=N?:óä5ä°2‚ÆgȻばKJfiž³7ížÛ€¨DÒºúØ‚ÂEÕòØÁ c¬âÎÆFXœôÍ@ËÏi6p´èa1‘+~‰ˆ&–ê šh¢²Sa}ð/9 z¦›Z€qzì<¦{$’ “¦  Äe7zxý÷$ÃÖ"º[4š€ð6-ævd {ªCÍëûK}¡5�{ÉË[îÉÍø€÷„y†L¹ŒÚ_æ IÔ“ÚÐVhd5ÓŒ†Š{¡kw”+H·‘‹‘ðÉ%(¡¦¼-©}ö•ö@G0*0aµsŽÒA.ä™ÇÑÀ£\Y­f#áŽó|Ɛ_-dáíGu«8Ä¡+²‡¶Á&RÐ;åÓz6;ΠÅÈåõ§Q¸}E!Ë6Ô—LyŒ0æVe/Ô4Tp°ìÔ*¨Ò“}+xrq^'e¿)ö"ò@/Ú":"Oåàä:/ËÔ¯¤ÂàS[s™/ìåŽÖ€Ÿ7áòÓ2ç»1x;½Àìk)L²}”ëçA½5îÓw-\f͸s[Û”¼Fø.»TF˼Å4LµôƒÙ+–T›Z<·cšóüH¬b ô±Ð¨‡‡÷+ùP£àë~ BÝ Ž6iÎTn¶4»Ëu0$˜”Ü(¾°‘¡ô²‡ðlÊ¿QG«…ÞÝ‹HÊuíSV„!=ÄzYÍßÖujë=w¯•3
02.11.2007. u 20:24 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3831
77.46.190.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 22:10
Lepo ti piše šta je problem. Sredi taj output na liniji 10 i trebalo bi da proradi.
Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
02.11.2007. u 22:10 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 00:28
Na liniji 10 se nalazi ovaj deo koda...

Code:
echo "Greska, ne mogu se konektovati na bazu.";

Sta tu da sredim?
03.11.2007. u 00:28 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3831
91.150.97.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 09:30
Izbaci taj deo (i usput proveri zašto skripta ne može da se konektuje na bazu).
Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
03.11.2007. u 09:30 

Aleksandar Ružičić
Aleksandar Ružičić
Senior Developer, Haragei d.o.o
Beograd - Čačak

Član broj: 26939
Poruke: 1938
*.dynamic.adsl.itsisp.net.

Jabber: krcko@haragei.com
Sajt: krcko.haragei.org


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 10:16
ako je u pitanju default xampp instalacija (tj da nisi nista dodatno podesavao) onda ti je password empty, tj nema passorda, dakle ovo treba da izmenis:
Code:

$host='localhost';   //gde se nalazi baza
$user='root';  //Username za bazu
$pass='';  //Sifra...

03.11.2007. u 10:16 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 11:28
Kada sam izbacio ovaj deo koda sve normalno radi...

Code:

if (!$con_mysql or !$selct_mysql){     //Proverava da li postoji neka gresku u vezi konektovanja na bazu
echo "Greska, ne mogu se konektovati na bazu.";  
}


A kada je taj deo koda upisan onda mi pokazuje onu poruku.

Citat:
ako je u pitanju default xampp instalacija (tj da nisi nista dodatno podesavao) onda ti je password empty, tj nema passorda, dakle ovo treba da izmenis:

Ma nema to veze, radim ja vec duze vremena sa xamppom, nisam bas pocetnik, sam sam postavio sifru root zato sto u nekim skriptama pri instalaciji morma uneti password za SQL.

Da se vratim na temu,

Kada pocne download on mi povuce fajl ali fajl bez extenzije. E sada malo mi neizvodljivo izgleda da na svakom fajlu funkcija rand upisuje extenziju, kada bi recimo napravio u bazi podataka jos jedno polje pored id, download, recimo ext gde bi upisivao extenziju, kako bi onda php kod izmenio? Moze pomoc oko toga... :)
03.11.2007. u 11:28 

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.249.*

ICQ: 351092125
Sajt: www.miticdjd.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 17:06
Lepo sam gore napisao da posto sam odmah ovde pisao moguce da sam napravio neku gresku u kucanju.

Vrati ovaj kod i dodaj "e" pogledaj dole
Code:

if (!$con_mysql or !$select_mysql){     //Proverava da li postoji neka gresku u vezi konektovanja na bazu
echo "Greska, ne mogu se konektovati na bazu.";  
}


Kod "or !$select_mysql)" je hvalilo 'e' pisalo je selct_mysql a treba kao ovde iznad !$select_mysql
03.11.2007. u 17:06 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 18:06
To sada radi. Hvala. Molim pomoc oko ekstenzije. Puno bi mi znacilo...
03.11.2007. u 18:06 

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.249.*

ICQ: 351092125
Sajt: www.miticdjd.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 18:58

Dodas u tabelu jos jedno polje "ext" ali i nemora u naziv fajla mozes da upises npr. "skripta.zip" i skidace.
Code:

<?php
$host='localhost';   //gde se nalazi baza
$user='root';  //Username za bazu
$pass='root';  //Sifra...
$base='system'; //Bazu koju oces da koristis
$con_mysql=@mysql_connect("$host", "$user", "$pass");  //Konektuje se na bazu
$select_mysql=@mysql_select_db($base);  //Selektuje bazu

if (!$con_mysql or !$selct_mysql){     //Proverava da li postoji neka gresku u vezi konektovanja na bazu
echo "Greska, ne mogu se konektovati na bazu.";  
}

$id = $_GET['id']; //Uzima vrednost iz download.php?[b]id=454[/b]
$file = "SELECT * FROM tabela WHERE id='$id'";  //"table" ime tabele koje korisitis
$check = mysql_query("$file");
while ($file_r = mysql_fetch_array($check)){

$file_name = $file_r['download'];   //Gde se nalazi fajl npr software.zip
$file_ext = $file_r['ext']; //Ekstenzija fajla

}

// Fajl za preuzimanje smesten na lokalnom racunaru
$local_file = $file_name + $file_ext;

// Ime koje ce biti pripisano fajlu pri pokretanju preuzimanja
$download_file = rand(0,100000);

// Postavite maksimalnu brzinu, tj. maksimalnu brzinu kojom ce korisnik preuzimati fajl
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
    // Slanje
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);

    // Sadrzaj
    flush();

    // Fajl
    $file = fopen($local_file, "r");

    while(!feof($file))
    {
        // Slanje delova fajla browseru
        print fread($file, round($download_rate * 1024));

        // Sadrzaj
        flush();

        // Sadrzajs
        sleep(1);
    }

    // Kraj
    fclose($file);}
else {
    die('Greska: Fajl '.$local_file.' ne postoji!');
}
?>


Mislim da bi trebalo ovako da radi ako nece proveri liniju $local_file = $file_name + $file_ext; mozda ne moze ovako.
Pozz
03.11.2007. u 18:58 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 20:16
Ne ide tako ide ovako...

$local_file = $file_name.$file_ext;

Ali mi i dalje preuzima fajl bez ekstenzije?

Evo i kompletnog koda...

Code:

<?php
$host='localhost';   //gde se nalazi baza
$user='root';  //Username za bazu
$pass='root';  //Sifra...
$base='system'; //Bazu koju oces da koristis
$con_mysql=@mysql_connect("$host", "$user", "$pass");  //Konektuje se na bazu
$select_mysql=@mysql_select_db($base);  //Selektuje bazu

if (!$con_mysql or !$select_mysql){     //Proverava da li postoji neka gresku u vezi konektovanja na bazu
echo "Greska, ne mogu se konektovati na bazu.";  
}

$id = $_GET['id']; //Uzima vrednost iz download.php?[b]id=454[/b]
$ext = $_GET['ext'];
$file = "SELECT * FROM tabela WHERE id='$id'";  //"table" ime tabele koje korisitis
$check = mysql_query("$file");
while ($file_r = mysql_fetch_array($check)){

$file_name = $file_r['download'];   //Gde se nalazi fajl npr software.zip
$file_ext = $file_r['ext']; //Ekstenzija fajla

}

// Fajl za preuzimanje smesten na lokalnom racunaru
$local_file = $file_name.$file_ext;

// Ime koje ce biti pripisano fajlu pri pokretanju preuzimanja
$download_file = rand(0,100000);

// Postavite maksimalnu brzinu, tj. maksimalnu brzinu kojom ce korisnik preuzimati fajl
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
    // Slanje
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);

    // Sadrzaj
    flush();

    // Fajl
    $file = fopen($local_file, "r");

    while(!feof($file))
    {
        // Slanje delova fajla browseru
        print fread($file, round($download_rate * 1024));

        // Sadrzaj
        flush();

        // Sadrzajs
        sleep(1);
    }

    // Kraj
    fclose($file);}
else {
    die('Greska: Fajl '.$local_file.' ne postoji!');
}
?>

Onako kako si napisao sa + uvek kaze da fajl ne postoji...
03.11.2007. u 20:16 

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.249.*

ICQ: 351092125
Sajt: www.miticdjd.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 20:48
Ovo je kompletan kod sad sam ga proverio i radi.

Code:

<?php
$host='localhost';   //gde se nalazi baza
$user='user';  //Username za bazu
$pass='pass';  //Sifra...
$base='base'; //Bazu koju oces da koristis
$con_mysql=@mysql_connect("$host", "$user", "$pass");  //Konektuje se na bazu
$select_mysql=@mysql_select_db($base);  //Selektuje bazu

if (!$con_mysql or !$select_mysql){     //Proverava da li postoji neka gresku u vezi konektovanja na bazu
echo "Greska, ne mogu se konektovati na bazu.";  
}

$id = $_GET['id']; //Uzima vrednost iz download.php?[b]id=454[/b]
$file = "SELECT * FROM table WHERE id='$id'";  //"table" ime tabele koje korisitis
$check = mysql_query("$file");
while ($file_r = mysql_fetch_array($check)){

$file_name = $file_r['download'];   //Gde se nalazi fajl npr software.zip
$file_ext = $file_r['ext']; //Ekstenzija fajla

}

// Fajl za preuzimanje smesten na lokalnom racunaru
$local_file = $file_name. "." .$file_ext;

// Ime koje ce biti pripisano fajlu pri pokretanju preuzimanja
$download_file = rand(0,100000);

// Postavite maksimalnu brzinu, tj. maksimalnu brzinu kojom ce korisnik preuzimati fajl
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
    // Slanje
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);

    // Sadrzaj
    flush();

    // Fajl
    $file = fopen($local_file, "r");

    while(!feof($file))
    {
        // Slanje delova fajla browseru
        print fread($file, round($download_rate * 1024));

        // Sadrzaj
        flush();

        // Sadrzajs
        sleep(1);
    }

    // Kraj
    fclose($file);}
else {
    die('Greska: Fajl '.$local_file.' ne postoji!');
}
?>

03.11.2007. u 20:48 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 21:02
Code:

<?php
$host='localhost';   //gde se nalazi baza
$user='root';  //Username za bazu
$pass='root';  //Sifra...
$base='bazapodataka'; //Bazu koju oces da koristis
$con_mysql=@mysql_connect("$host", "$user", "$pass");  //Konektuje se na bazu
$select_mysql=@mysql_select_db($base);  //Selektuje bazu

if (!$con_mysql or !$select_mysql){     //Proverava da li postoji neka gresku u vezi konektovanja na bazu
echo "Greska, ne mogu se konektovati na bazu.";  
}

$id = $_GET['id']; //Uzima vrednost iz download.php?[b]id=454[/b]
$file = "SELECT * FROM tabela WHERE id='$id'";  //"table" ime tabele koje korisitis
$check = mysql_query("$file");
while ($file_r = mysql_fetch_array($check)){

$file_name = $file_r['download'];   //Gde se nalazi fajl npr software.zip
$file_ext = $file_r['ext']; //Ekstenzija fajla

}

// Fajl za preuzimanje smesten na lokalnom racunaru
$local_file = $file_name. "." .$file_ext;

// Ime koje ce biti pripisano fajlu pri pokretanju preuzimanja
$download_file = rand(0,100000);

// Postavite maksimalnu brzinu, tj. maksimalnu brzinu kojom ce korisnik preuzimati fajl
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
    // Slanje
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);

    // Sadrzaj
    flush();

    // Fajl
    $file = fopen($local_file, "r");

    while(!feof($file))
    {
        // Slanje delova fajla browseru
        print fread($file, round($download_rate * 1024));

        // Sadrzaj
        flush();

        // Sadrzajs
        sleep(1);
    }

    // Kraj
    fclose($file);}
else {
    die('Greska: Fajl '.$local_file.' ne postoji!');
}
?>


Evo to je taj kod i opet mi ne daje ekstenziju...
03.11.2007. u 21:02 

milos036

Član broj: 87169
Poruke: 209
*.mediaworksit.net.



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 21:16
Resio sam sam problem...

Na ovoj liniji...

Code:
header('Content-Disposition: filename='.$download_file);


Se naredjuje browseru da preuzme samo $download_file a to je

Code:
$download_file = rand(0,100000);


Treba tu jos dodati ovo...

Code:
. "." .$file_ext


I onda ta linija izgleda ovako...

Code:
header('Content-Disposition: filename='.$download_file. "." .$file_ext);


I sve normalno radi sa extenzijom...
03.11.2007. u 21:16 

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.249.*

ICQ: 351092125
Sajt: www.miticdjd.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 21:24
Izgleda da imas gresku negde drugde posto kod radi. Ponovo ga proverio.

Nisam video da si napisao da si resio problem pozzz
03.11.2007. u 21:24 

[es] :: PHP :: Pomoc pri izradi PHP aplikacije za download

[ Pregleda: 933 | Odgovora: 19 ]

Postavi temu Odgovori

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