ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
287
287
EMPFEHLEN
-
Hallo Leute,
ich such jetzt schon ne ganze Weile im Forum rum, bin aber nicht wirklich fündig geworden. Ich hab mir eine simple download.php geschrieben die mir meine Sound- und Pdf-Dateien ohne Rechtsklick "Speichern unter..." laden kann. Klappt auch alles wunderbar, nur hab ich noch zwei kleine Probleme die ich gern noch behoben hätte:
- Der Dateiname ändert sich beim downloaden von download/datei.mp3 nach download - datei.mp3. Wie bekomme ich nur datei.mp3 hin?
- Die Größe wird vom Download-Manager (ich verwende den handelsüblichen von Firefox) nicht geladen/ angezeigt. Dadurch gibt es keine Statusanzeige. Wie kann ich das Problem beheben?
Hier nun noch der Quellcode:
Bitte helftPHP-Code:<?
if (isset($_GET["id"])) $id = $_GET["id"]; else die();
$conn = mysql_connect("localhost", "xxxxxxxxx", "xxxxxxxxxx");
if (!$conn) { die("die datenbank wurde nicht gefunden."); }
mysql_select_db("xxxxxxxxxx",$conn);
$res = mysql_query("SELECT * FROM mirko_download WHERE id = '$id'");
$row = mysql_fetch_array($res);
$filename = $row["filename"];
$mime = $row["mime"];
header("Content-Disposition: attachment; filename=$filename");
header("Content-Lenght: ".filesize($filename));
header("Content-Type: ".$mime);
readfile($filename);
?>
Liebe Grüße Mirko
-
Versuch mal folgendes:
PHP-Code:<?php
if( isset($_GET["id"]) ) $id = $_GET["id"]; else die();
if( !$conn = mysql_connect("localhost", "xxxxxxxxx", "xxxxxxxxxx") ) {
echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'</p>';
exit;
}
mysql_select_db("xxxxxxxxxx",$conn);
$query = "
SELECT
`filename`,
`mime`
FROM
`mirko_download`
WHERE
`id` = '".$id."'
";
if( !$res = mysql_query($query) ) {
echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
exit;
}
$row = mysql_fetch_array($res, MYSQL_ASSOC);
header('Content-Type: '.$row['mime'].'; name="'.$row['filename'].'";');
header('Content-Disposition: attachment; filename="'.$row['filename'].'";');
header('Content-Lenght: '.filesize($row['filename']).' bytes');
readfile($row['filename']);
?>Markus Wulftange
-
Hab ich ausprobiert, aber trotzdem das gleiche Ergebnis. Ich denke auch nicht dass es ein MySQL Fehler ist, das wird alles richtig übergeben... Und das mit "name=..." zeigt auch keine Wirkung. Es wird weiterhin "download-misty.mp3" angezeigt und ne Länge wird immernoch nicht erkannt.
Kann es mit dem Namen vielleicht daran liegen dass die Datei misty.mp3 im Verzeichnis download liegt? In der Tabelle steht als Filename download/misty.mp3
Liebe Grüße
-
Okay, *lach*, ich hab das Problem gelöst. Für die die es nochmal brauchen:
Das mit dem Filename habe ich mit der Funktionen "basename" gelöst:
Und das mit der Dateigröße die er nicht erkannt hat beruhte auf einem Schreibfehler. Ich habe dummerweise "Content-Lenght" anstatt "Content-Length" geschrieben....PHP-Code:header("Content-Disposition: attachment; filename=".basename($row["filename"]));
Trotzdem nochmal danke für die Mühe.
Liebe Grüße Mirko
Ähnliche Themen
-
Wer kann helfen? Wie kann ich im Photoshop mein Logo mit Gras "überziehen"?
Von LA-Chiller im Forum PhotoshopAntworten: 14Letzter Beitrag: 09.03.07, 16:31 -
JTree breitet große Probleme, kann uns bitte jemand helfen!!
Von chaosteam im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 04.01.07, 16:33 -
Probleme mit index und ubound befehl kann mir wer helfen
Von josefhader im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 23.08.04, 21:04 -
UVW-MAPPING PROBLEME! Möchte Eichstrich auf ein Glas bringen! Wer kann helfen?Danke
Von cborn im Forum 3D Studio MaxAntworten: 2Letzter Beitrag: 30.06.04, 11:20 -
Viele Probleme..kann Jemande Helfen ?
Von Da Damn Cam im Forum Linux & UnixAntworten: 10Letzter Beitrag: 20.02.04, 14:18





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren