Webstatt.org - Community seit 2006 - 2012 (2024?)

datei downloadbar machen

Avatar user-180
06.12.2006 22:13

hi ma ne frage: wie mache ich ein mp3-datei downloadbar?
also falls der user eingestellt hat, dass die datei automatisch abgespielt wird, dass die datei trotzdem nur heruntergeladen werden kann... geht das irgentwie? (auch mit andere dateien (pdf, html, zip ect)?

may the force be with you. but mostly with me.
user-150
07.12.2006 12:16

OT:

irgendwo habe ich gelesen, dass man es dem user überlassen soll, was er mit der datei anfangen will, also ob sie geöffnet wird, oder ob er sie mit rechtsclick -> speichern unter downloaden will
is genau das selbe wie mit target="_blank", soll man ja scheinbar auch ned benutzen

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
Avatar user-180
07.12.2006 12:21

wenn ich einen eine PLAY teste und eine DOWNLOAD taste habe, dann will ich dass der die datei dann auch runterlädt und keine mätzchen macht

may the force be with you. but mostly with me.
user-137
07.12.2006 16:47

Ich schätze ma das geht nur über einen header aufruf:


<?
$filename = "sound.mp3"; // Download datei
$filesrename = "was.mp3"; //Umbennen in

header("Content-Type: x-type/subtype"zwinkern;
header("Content-Length: ".filesize($filename));
header("Content-Disposition: attachment; filename=".$filesrename);
readfile($filename);
?>

Avatar user-182
07.12.2006 16:53

eigentlich so:

if(isset($_GET['download']) && is_numeric($_GET['download'])){
$dlid = intval($_GET['download']);
list($candl) = mysql_fetch_array(mysql_query('SELECT COUNT(id) FROM user2dateien WHERE id='.$dlid.' && userid='.$userid.' && isordner=0'zwinkern);
if($candl != 1) accesserror();
list($name, $uo, $size) = mysql_fetch_array(mysql_query('SELECT name,unterordner,size FROM user2dateien WHERE id='.$dlid));

if(preg_match('/MSIE [0-9]\.[0-9]/', $_SERVER['HTTP_USER_AGENT'])) $browser = 'ie';
elseif(preg_match('/Opera\/[0-9]\.[0-9]/', $_SERVER['HTTP_USER_AGENT'])) $browser = 'opera';

header('Content-Type: '.(($browser=='ie' || $browser=='opera'zwinkern?'application/octetstream':'application/octet-stream'zwinkern);
header('Content-disposition: '.(($browser=='ie'zwinkern?'inline':'attachment'zwinkern.'; filename="'.$name.'"'zwinkern;
header('Content-Length: '.$size);
if($browser == 'ie'zwinkern header('Pragma: public'zwinkern;
else header('Pragma: no-cache'zwinkern;
header('Expires: 0'zwinkern;
readfile('../dateien.h6p.de/'.$benutzername.getcurrdir($uo).$name);
exit;
}


aber deins müsst auch gehen =)

Seid ihr auch schon wix'r? xD
Avatar user-180
07.12.2006 17:04

kann man da auch ne funktion draus machen?

may the force be with you. but mostly with me.
user-137
07.12.2006 17:13

hm, müsste eigentlich so gehen:


function load($file) {

$dlid = intval($file);
list($candl) = mysql_fetch_array(mysql_query('SELECT COUNT(id) FROM user2dateien WHERE id='.$dlid.' && userid='.$userid.' && isordner=0'zwinkern);
if($candl != 1) accesserror();
list($name, $uo, $size) = mysql_fetch_array(mysql_query('SELECT name,unterordner,size FROM user2dateien WHERE id='.$dlid));

if(preg_match('/MSIE [0-9]\.[0-9]/', $_SERVER['HTTP_USER_AGENT'])) $browser = 'ie';
elseif(preg_match('/Opera\/[0-9]\.[0-9]/', $_SERVER['HTTP_USER_AGENT'])) $browser = 'opera';

header('Content-Type: '.(($browser=='ie' || $browser=='opera'zwinkern?'application/octetstream':'application/octet-stream'zwinkern);
header('Content-disposition: '.(($browser=='ie'zwinkern?'inline':'attachment'zwinkern.'; filename="'.$name.'"'zwinkern;
header('Content-Length: '.$size);
if($browser == 'ie'zwinkern header('Pragma: public'zwinkern;
else header('Pragma: no-cache'zwinkern;
header('Expires: 0'zwinkern;
readfile('../dateien.h6p.de/'.$benutzername.getcurrdir($uo).$name);
exit;

}

Avatar user-180
07.12.2006 17:25

und wie geht das mit totalen adressen? also mit dten die auf andern servern und anderen urls rumlungern?

may the force be with you. but mostly with me.
user-137
07.12.2006 17:31

das geht nicht mit php sonst könntest du ja alle PHP datein und somit DB Passworts etc. runterladen.

Avatar user-180
07.12.2006 17:35

hoppsala... interressant ^^

aber kann man wenigstens den ordner noch mit angeben?
danke schonmal!

may the force be with you. but mostly with me.
user-137
07.12.2006 17:42

den Ordner müsste man mit angeben können also relativ.

Avatar user-271
07.12.2006 17:52

franky...wenn dus chon sowas postest...dann bitte rohgerüst...weil da sind auch noch deine Sql funktionen drin zwinkern und der Pfad wo er es herholen soll....

function load($file) {
if(preg_match('/MSIE [0-9]\.[0-9]/', $_SERVER['HTTP_USER_AGENT'])) $browser =
'ie';
elseif(preg_match('/Opera\/[0-9]\.[0-9]/', $_SERVER['HTTP_USER_AGENT'])) $brow
ser = 'opera';

header('Content-Type: '.(($browser=='ie' || $browser=='opera'zwinkern?'application/oc
tetstream':'application/octet-stream'zwinkern);
header('Content-disposition: '.(($browser=='ie'zwinkern?'inline':'attachment'zwinkern.'; fil
ename="'.$name.'"'zwinkern;
header('Content-Length: '.filesize($file));
if($browser == 'ie'zwinkern header('Pragma: public'zwinkern;
else header('Pragma: no-cache'zwinkern;
header('Expires: 0'zwinkern;
readfile($file);
exit;
}

/* -------- USAGE -------------- */
load('ordner/datei.mp3'zwinkern;

#!/bin/bash
traurig){ neutral:& };:
user-303
07.12.2006 18:12

wie wäre es mit ner .htaccess datei:

 AddType application/octet-stream .mp3

Avatar user-180
07.12.2006 18:23

mit hatccess kann ich dann daber die datei nimmer innen flashplayer bringen oder?

may the force be with you. but mostly with me.
user-303
07.12.2006 18:27

dürfte dem flash player egal sein.
du änderst ja nur den mime type

Avatar user-205
07.12.2006 21:45

Einfach so: ?!?

<?php
function download($file , $name) {
$size = filesize($file);
header("Content-type: application/octet-stream"zwinkern;
header("Content-disposition: attachment; filename=".$name);
header("Content-Length: ".$size);
header("Pragma: no-cache"zwinkern;
header("Expires: 0"zwinkern;
readfile($file);
}

// Download der Datei "an1-6.jpg" aus "./meinverzeichnis"
// als "giraffen.jpg"
download("meinverzeichnis/an1-6.jpg","giraffen.jpg"zwinkern;
?>

user-303
08.12.2006 12:59

warum denn den php parser mit so ner banalen aufgabe quälen?

user-137
08.12.2006 13:04

alternative?

user-303
08.12.2006 13:29

hab ich oben geschriebe. vll auch statt addType ein setType

Avatar user-182
08.12.2006 14:42

sry user-271... Fettes Grinsen wollt ich ja eig nich... xD nur hatte kZ das rauszunehmen frech

Seid ihr auch schon wix'r? xD