• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Speichern von Dateinen

Status
Für weitere Antworten geschlossen.

kahremst

Neues Mitglied
Hi,
ist es irgendwie möglich, wenn man auf ein Link klickt, dass dann ein Speichern-Dialog kommt; und zwar bei *.zip, *.exe, *.txt sowie auch bei *.htm-Dateien; also einfach bei allen Dateien. Und zwar bei einem einfachen Klick, NICHT dass man auf "Ziel Speichern unter..." klicken muss.

Ist soetwas irgendwie realisierbar?


DANKE, Gruß Stefan
 
Werbung:
versuche die mal mit Content-Type application/x-force-download oder so aehnlich zu versenden .
(zb mit header()
 
Werbung:
kannst du mir da vielleicht ein kleines bsp schicken oder mir erklären wie das zu machen ist? wär sehr nett. schonmal danke im voraus!
 
Wenn du sowas http://212.112.249.4/sco-d/SCO-9D §JONNY &LEONIE/Ge S37.rar meinst (sry wegen der laaaangen adresse), kannst du das ganz einfach machen.
Code:
 [url="SPEICHERORT.rar/.zip/.exe"]TITEL[/url]

Achte aber darauf, dass am ende der dateityp steht. ( ... .exe oder ... .zip usw.)

Wie du es mit dateientypen machst, die angezeigt werden können (Bilder, txt, htm, html, xhtml... usw.) machst weiß ich nich, aber da gibts sicher was.
 
ich glaube das ist ihm bewusst er wollte darauf hinaus das sie immer zum dl steht egal ob htm oder exe
 
Werbung:
genau! mit exe zip usw weis ich. aber ich hätte gern gewusst, ob es überhaupt möglich ist htm dateien so per einfachem klick zu downloaden. und falls ja, wie.
 
also mit hilfe von php kann man den download jeder datei erzwignen. du müsstest also immer auf ein php script weiterleiten das dann den DL der Datei erzwingt. und einen wieder zurückleitet so das dem user der eindruck eines einfachen links vorgegauckelt wird.
wie genau sich ein erzwunger php DL realisiert weiß ich nicht aber niklas hat ja bereits einen vorschlag gemacht auf diesem kannst du ja aufbauen oder niklas baut seinen vorschlag mehr aus und erklärt ihn uns genauer.
 
Werbung:
Hab mich mal mit der idee von php von Prophet befasst. Hab kein Script gefunden, aber hab ein selber geschrieben :wink:

Ich hoffe es geht bei dir... (bei mir [IE]geht es).

Statt auf den download zu linken musst du auf das script linken:
Code:
[url="ADRESSE DES DLSCRIPTES"]TITEL[/url]

Dieser Link sollte zu folgendem Dokument führen:
Code:
<html>
<head>
<meta http-equiv="refresh" content="0; URL=Adresse zu der zurückgeleitet werden soll">

<?php 
$Datei = "PfadzurDatei/Dateiname.Dateiendung"; 
$Dateiname = basename($Datei); 
$Größe = filesize($Datei); 
header("Content-Type: application/force-download"); 
header("Content-Disposition: attachment; filename="$Dateiname""); 
header("Content-Length: $Größe"); 
readfile($Datei); 
?>
</head>
<body>
</body>
</html>

Hoffe das das bei dir geht..

ERKLÄRUNG:
Code:
<meta http-equiv="refresh" content="0; URL=Adresse zu der zurückgeleitet werden soll">
ist die Automatische zurückleitung zur vorherigen Seite..
content="0" bedeutet zurückleiten nach 0 sekunden
URL=ADRESSE ist die adresse zu der man zurückgeleitet wird. Bitte keine Leerzeichen zwischen URL=Adresse und auch keine "" (also nicht URL="ADRESSE")

natürlich kannst du statt
Code:
<meta http-equiv="refresh" content="0; URL=Adresse zu der zurückgeleitet werden soll">
auch ein JavaScript einbauen, das eine automatische HISTORY BACK funktion übernimmt, dann fällt das Eingeben der URL für die Rückleitung weg, Ich habe aber noch nie gehört, das eine Historyback funktion automatisch geht..
Der rest ist das php script. Dort musst du noch den Ort der Datei auf dem Server angeben.

Das wars :wink: hoffe du hast das verstanden & das es funktioniert!
=D
 
Hä? Frank, der Header, den du mit header() in PHP erzeugst, hat nichts, aber auch garnichts, mit dem HTML-<head> zu tun! Der Header muss auch vor allem anderen kommen... Außerdem glaube ich nicht, dass es bei dir funktioniert hat. Du hast es wahrscheinlich nicht mal getestet. Das kann nämlich garnicht gehen (alleine schon $Größe als Variablenname...)

@kahremst: Lass bei dem Skript von Frank den ganzen HTML Kram draussen, also sodass da nur der Teil vom <?php bis zum ?> steht.
Ansonsten würdest du nämlich das Downloadskript mit der herunterzuladenen Datei herunterladen.

Also, schreib in die download.php einfach das:
[php:1:f527037c3f]
<?php
$datei = "name_der_datei.html";
$groesse = filesize($datei);
header("Content-Type: application/x-force-download");
header("Content-Disposition: attachment; filename=\"$datei\"");
header("Content-Length: $groesse");
readfile($datei);
?>
[/php:1:f527037c3f]

Weiß nicht, ob das funktioniert, ich kenne mich mit Headern und so nicht aus... aber versuchs einfach mal :)

Edit: die Variable in filesize war noch großgeschrieben
 
das HTML muss mit, sonst funktioniert die rückleitung nicht, das is nämlich HTML :!: :lol:

denn die META-Files (META= http-equive....) Ist HTML

Ich versteh schon das mit dem MIT-Runterladen aber wie soll man eine ZURÜCKLEITUNG bitte in php machen?

Die Variable $Groesse ist deiner Meinung nach wohl nicht funktionstüchtig, da sie nicht definiert ist. Das muss sie jedoch nicht, da es ein sogenannte GLOBALE variable ist, die schon beim browser (da ist ja php perser drin) vordefiniert ist.

Natürlich will ich nicht darauf pochen, das ich recht habe, so habe ich es nun mal gelernt ^^
 
Werbung:
aber bitte erstmachdem header informationen gesetzt wurden...

ih würde noch versuchen nachdem der dl gestartet ist noch mit header zurückleiten. bin mir aber nicht sicher ob das funzt
 
LOL! So was geiles hab ich noch nie gehört...
Der PHP-Parser ist im SERVER, nicht im BROWSER.
Und $groesse ist weder im Server, noch im Browser vordefiniert, und ist auch nicht global. Außerdem heißt das, was du meinst "Servervariable".
Und die Weiterleitung ist kein META-File, sondern ein META-Tag. Ein file ist eine Datei.

$Größe ist ein nicht erlaubter Variablenname, 1. wegen dem deutschen Umlaut (ö) und 2. wegen dem ß.

Die HTML-Weiterleitung würde nur stören, weil sie dann in der heruntergeladenen Datei steht, und das soll sie nicht. Bei einer Bilddatei wäre das z.B. sehr kritisch.
Soviel ich weiß, ist die Weiterleitung aber auch unnötig. Der Browser schickt eine Anfrage an den Server und will die download.php haben. Der Server sagt dem Browser, dass es sich dabei um eine herunterzuladene Datei handelt und schickt dem Browser die Datei. Wenn man auf einen <a href="datei.zip"> Link klickt, passiert (fast) das selbe. Und bei so einem Link wird KEINE weiße (leere) Seite angezeigt, sondern die ursprüngliche Seite wird beibehalten. Somit wäre eine Weiterleitung (bzw. Zurückleitung) unnötig. :roll:
 
Frank schrieb:
Natürlich will ich nicht darauf pochen, das ich recht habe, so habe ich es nun mal gelernt ^^

wer bringt dir so einen absoluten sch..ss bei?

php parser im browser - $Größe Globale veriable....
- vieleicht mal informieren was
1. HTML
2. PHP
und
3. HTTP

sind.
vielleicht du dann schlauer :|
 
Werbung:
wollte mich nur für eure hilfe bedanken :!: :lol:

da es genau so funzt, wie ich es mir vorgestellt habe!

VIELEN DANK
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben