Autor Zpráva
Misho
Profil *
Zdravim,

neviem ako mám urobiť alias (http://stranka.com/index.php?stranka=stiahnut&skladba-5841), ktory presmeruje na skutocny link (http://server.sk/mp3/skladba.mp3).. Nemyslim tym ze v tom subore teraz bude refresh na ten dany link.. Ale potrebujem ked kliknem na ten link (alias) pravym tlacitkom a vyberem ulozit ciel odkazu ako - ulozi sa mi ta skladba a a nie subor,na ktorom je to refresh...
A v ramci nom bude pocitanie - to si spravim..

Tu je priklad ako to ma fungovat:
takto mavyzerat alias:
http://emp3world.com/to_download.php?id=121437

odkazuje na link:
http%3A%2F%2F

Dakujem za pomoc..
Misho
Profil *
oprava:

takto ma vyzerat alias:
http://emp3world.com/to_download.php?id=120936

odkazuje na link:
www.groundcontrolmag.com/music/SWAG7Katy_Perry-California_Gurls.mp3
Velda
Profil
Misho:
zkus
http://cz.php.net/manual/en/function.header.php
Example #1 Download dialog
xmark
Profil
Misho:
Používá se k tomu přesměrování. A pokud těch souborů budeš mít víc než prstů na ruce, neobejdeš se bez databáze.
Princip je asi takovýto:

<?
include ("config.php");

$id = $_GET["fileid"];
$strQuery2 = "SELECT filename FROM files where ID=".$id ;
$vysledek2 = mysql_query( $strQuery2);
$num_rows2 = mysql_num_rows($vysledek2);

if ($num_rows2 > 0 )
{
  header("Location: ".$zaznam2["filename"]);
  exit();
};
?> 



edit: nahoře chyběl config.php, kde je připojení k databázi.
Misho
Profil *
No ved to pojde cez databazu..
Misho
Profil *
Ja neviem ako to urobit..
Nie som zrovna velky programator..

Tak Vam sem dam script, ktory len presmerovaval ako som opisoval..
pls upravte mi ho aby fungoval ako alias..

<?php

  ob_start(); 
  
  session_start();
  
  include "mp3_player/mp3_player.swf";
  
  $id = $_GET['id'];
  
  $id_redirect = $id;
  
  $id_uprava = Str_Replace("(", "%28", $id);
  $id_uprava = Str_Replace(")", "%29", $id_uprava);
  
  $id = strstr($id, "-");
  $id = substr($id, 1);
  
  $dotaz = "SELECT url FROM skladby WHERE id = '$id' ";
  $vysledek_testu = mysql_query($dotaz) or
    die(mysql_error());
    
  if (mysql_num_rows($vysledek_testu) > 0) { 
    
    $dotaz = "SELECT url FROM skladby WHERE id = '$id' AND typ = '1'";
    $vysledek = mysql_query($dotaz) or
      die(mysql_error());
  
    $soubor = mysql_fetch_array($vysledek);
      
    $dotaz = "INSERT INTO stahnuto_prehrato (id_mp3, stahnuto_prehrato) VALUES('$id', 'stahnuto') ";
    $vysledek = mysql_query($dotaz) or
      die(mysql_error());
  
    $soubor = $soubor['url']; 

    header('Refresh: 0; URL='.$soubor);
  }
  else
    header('index.php?stranka=skladba&nazev='.$id_redirect);
                    

  
  ob_flush();
?>


Toto je link na tento script:
http://mojastranka.com/stahnout.php?id=skladba-2843

Císlo 2843 je ID, ktore urcuje, ktora skladba s bude stahovat..

Dakujem
xmark
Profil
Řekl bych, že ti tady chybí ten řádek 83, na kterém je chyba.
Misho
Profil *
tam ani 83. riadok neni .. len do 45
xmark
Profil
Aha, tak že by chyba v tom includovaném mp3_player.swf? Jestli chceš nabízet soubor ke stažení, tak player nepotřebuješ, smaž to.
Misho
Profil *
mp3_player/mp3_player.swf je odkaz na databazu - zvlastny ale funguje.. mam na to svoje dovody :D
shaggy
Profil
Misho:
zvlastny ale funguje.. mam na to svoje dovody
Aké? Že keď si ho dá niekto zobraziť, tak uvidí tvoje prihlasovacie údaje do db? Dobrý dôvod.
Misho
Profil *
Nezobrazi udaje..
Misho
Profil *
Tak pouzil som to od Velda:
<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>


Teda konkretne toto:
<?php
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
?>

a ked som na to klikol otvorilo sa mi okno pre stahovanie (mp3 subor) ale v nom skladba nie je - ma len 2bajty.. a nazov suboru je ta povodna (originalna) url..

Vedel by to niekto urobit?
Dakujem

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0