Avatar billede ch007 Nybegynder
09. april 2004 - 13:44 Der er 11 kommentarer og
1 løsning

Let spg: udtræk fra MySQL (PHP)

Hej!

Jeg har intet kendskab til PHP, plejer at bruge ASP.

Jeg er nu kommet i den situation at jeg SKAL lave noget i PHP. Håber I kan hjælpe:

I asp gør jeg således:

Henter en fil: download.asp?fil=34

Så er der et script der hente oplysningen 34, derefter år i en db og hente en link.oplysning og udskriver linket...

Jeg skal altså have omskrevet følgende:

<?php

$fil = 'sti/til/fil.mpg';

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($fil) . '"');
header('Content-Length: ' . filesize($fil));
readfile($fil);

?>

istedet for 'sti/til/fil.mpg' skal der blot stå den som bliver hentet i DB under Id'et 34... Se evt:

http://www.eksperten.dk/spm/487539

Mit spg udspringer derfra...

Giver ekstra point for hurtigt svar - skal virkelig bruge dette nu...
Avatar billede dennismp Nybegynder
09. april 2004 - 13:49 #1
mysql_connect(..logininfo..) or die("MYSQL-connect: " . mysql_error());
mysql_select_db(...) or die("MYSQL-select-db: " .mysql_error());

$id = mysql_escape_string($_GET['id']);
$res = mysql_query("SELECT filnavn FROM table WHERE id = $id");
if(! $res )
  die("MYSQL-query: " . mysql_error());
$row = mysql_fetch_row($res);
if(! $row ) {
  print "Kan ikke finde filen";
}
else {
  $fil = $row[0];

  header("...");
}
Avatar billede dennismp Nybegynder
09. april 2004 - 13:50 #2
erstat evt
$res = mysql_query("SELECT filnavn FROM table WHERE id = $id");
med

$res = mysql_query("SELECT filnavn FROM table WHERE id = '$id'");
Avatar billede ch007 Nybegynder
09. april 2004 - 13:54 #3
Som sagt jeg ved intet omkring dette overhovedet. Dette giver ingen mening for mig. Ked af det.

Forstår du dette?:
<?php

$fil = 'sti/til/fil.mpg';

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($fil) . '"');
header('Content-Length: ' . filesize($fil));
readfile($fil);

?>

Hvis ja kan du så ikke sætte det hele op i en fil?
Avatar billede ch007 Nybegynder
09. april 2004 - 13:56 #4
<php
mysql_connect("minside_dk","minside_dk","MinKode");
mysql_select_db("minside_dk");
$res = mysql_query("SELECT Link FROM Video2 WHERE Id='11110002'");

echo $res['Link'];

echo "
";
}
mysql_close();
?>

jeg har selv søgt og fundet det her til at den skriver det rigtige link - ved ikke om det virker overhovedet. Altså om den får forbindelse - der sker intet...
Avatar billede ch007 Nybegynder
09. april 2004 - 13:59 #5
Kom lige til at tænke på... jeg kan egentlig bare selv lave hentning af link i asp. blot du fortælle mig hvordan jeg indsætter koden:

<?php

$fil = 'http://minside.dk/video/34.wmv/';

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($fil) . '"');
header('Content-Length: ' . filesize($fil));
readfile($fil);

?>

hvis jeg skriver:

download.php?site=minside&site2=dk&video=34&type=wmv
Avatar billede dennismp Nybegynder
09. april 2004 - 14:01 #6
Prøv med

<?php
mysql_connect("minside_dk","minside_dk","MinKode");
mysql_select_db("minside_dk");
$res = mysql_query("SELECT Link FROM Video2 WHERE Id='11110002'");
$row = mysql_fetch_array($res); // henter første række

echo $row['Link'];

}
mysql_close();
?>
Avatar billede dennismp Nybegynder
09. april 2004 - 14:02 #7
mysql_query() udfører et sql-statement.
mysql_fetch_row() henter en række. Du manglede at hente rækken :)
Avatar billede dennismp Nybegynder
09. april 2004 - 14:06 #8
Var det ikke nemmere at redirecte til filen i så fald?

<?php

$url = 'http://' . $_GET['site'] . '.' . $_GET['site2'] . '/video/' . $_GET['video'] . '.' . $_GET['type'];
Avatar billede dennismp Nybegynder
09. april 2004 - 14:08 #9
hovsa
<?php
$file = 'http://' . $_GET['site'] . '.' . $_GET['site2'] . '/video/' . $_GET['video'] . '.' . $_GET['type'] . '/';

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $_GET['video'] . '.' . $_GET['type']. . '"');
header('Content-Length: ' . filesize($fil));
readfile($fil);
?>
Avatar billede ch007 Nybegynder
09. april 2004 - 14:09 #10
Jeg har selv fundet en løsning:

www.domæne.dk/test.php4?var=Jub.dk

<?
Echo ("Velkommen til min hjemmeside");
Echo ("Denne hjemmeside styre: $var");
?>

På http://netcoders.dk/articles.asp?mode=show_article&article_id=75&tech_id=2

Så kan jeg selv lave det hele i asp og så sende linket videre.

Men du får point alligevel for din ulejlighed ! Tak!
Avatar billede ch007 Nybegynder
09. april 2004 - 14:16 #11
<?php

$fil = $sti

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($fil) . '"');
header('Content-Length: ' . filesize($fil));
readfile($fil);

?>

Hov - det virker ikke det her... Skal det ikke virker hvis jeg skriver download.php?sti=http://www.side.dk/444.wmv
Avatar billede ch007 Nybegynder
09. april 2004 - 14:21 #12
Selv fundet løsningen ved at slette (selvfølgelig):

$fil = $sti

:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester