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: 2830 | Odgovora: 19 ] > FB > Twit

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 - pre 200 meseci
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:)
 
Odgovor na temu

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.224.*

ICQ: 351092125
Sajt: www.draganmitic.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download21.10.2007. u 01:04 - pre 200 meseci
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
 
Odgovor na temu

milos036

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



Profil

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

Code:
while ($file_r = mysql_fetch_array($check){
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

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

while ($file_r = mysql_fetch_array($check)){
 
Odgovor na temu

milos036

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



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 08:40 - pre 200 meseci
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
 
Odgovor na temu

Whois

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



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 13:55 - pre 200 meseci
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'];
 
Odgovor na temu

milos036

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



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 20:24 - pre 200 meseci
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
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

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

Sajt: https://avramovic.info


+46 Profil

icon Re: Pomoc pri izradi PHP aplikacije za download02.11.2007. u 22:10 - pre 200 meseci
Lepo ti piše šta je problem. Sredi taj output na liniji 10 i trebalo bi da proradi.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

milos036

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



Profil

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

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

Sta tu da sredim?
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

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

Sajt: https://avramovic.info


+46 Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 09:30 - pre 200 meseci
Izbaci taj deo (i usput proveri zašto skripta ne može da se konektuje na bazu).
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 10:16 - pre 200 meseci
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...

 
Odgovor na temu

milos036

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



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 11:28 - pre 200 meseci
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... :)
 
Odgovor na temu

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.249.*

ICQ: 351092125
Sajt: www.draganmitic.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 17:06 - pre 200 meseci
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
 
Odgovor na temu

milos036

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



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 18:06 - pre 200 meseci
To sada radi. Hvala. Molim pomoc oko ekstenzije. Puno bi mi znacilo...
 
Odgovor na temu

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.249.*

ICQ: 351092125
Sajt: www.draganmitic.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 18:58 - pre 200 meseci

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
 
Odgovor na temu

milos036

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



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 20:16 - pre 200 meseci
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...
 
Odgovor na temu

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.249.*

ICQ: 351092125
Sajt: www.draganmitic.com


Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 20:48 - pre 200 meseci
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!');
}
?>

 
Odgovor na temu

milos036

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



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 21:02 - pre 200 meseci
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...
 
Odgovor na temu

milos036

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



Profil

icon Re: Pomoc pri izradi PHP aplikacije za download03.11.2007. u 21:16 - pre 200 meseci
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...
 
Odgovor na temu

miticdjd
Dragan Mitic
Nis

Član broj: 47235
Poruke: 60
77.46.249.*

ICQ: 351092125
Sajt: www.draganmitic.com


Profil

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

Nisam video da si napisao da si resio problem pozzz
 
Odgovor na temu

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

[ Pregleda: 2830 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

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