Download Modul (DL erzwingen)
Verfasst: Mo 17. Aug 2009, 14:21
Hi,
ich habe mal versucht, unser Download-Modul so anzupassen, dass der Download jeglicher Dateien erzwungen wird.
im Grunde genommen brauch ich ja nur die zu ladende Datei auf einer Extraseite mit den Headerinformationen:
Als übergeordnete Downloadmaske dient einfach eine Seite, welche auf die Downloadseite verlinkt - diese wiederum enthält folgenden Code:
Input:
Output:
Nun bin ich leider immernoch nicht allzu bewandert in PHP, um selbst einfach meine Anpassungen zu schreiben. Was ich versucht hatte, ist, die Dateieingabe in der übergeordneten Seite festzulegen und eine einzige Seite mit den beiden Header-Informationen für alle Downloads zu erstellen, welche dann die Variablen aufnimmt und entsprechend den Download der richtigen Datei erzwingt.
Ich hoffe ich hab das noch halbwegs verständlich darstellen können. Ansonsten versuch ich es gerne nochmal, wenn der Text zu chaotisch war
Ich hoffe, ihr könnt mir helfen.
PhoeniXaC
ich habe mal versucht, unser Download-Modul so anzupassen, dass der Download jeglicher Dateien erzwungen wird.
im Grunde genommen brauch ich ja nur die zu ladende Datei auf einer Extraseite mit den Headerinformationen:
Code: Alles auswählen
header("Content-Disposition: attachment; filename=".$cms_filename);
header("Content-Type: application/octet-stream");
Input:
Code: Alles auswählen
?> <?PHP
$anzahlLinks = CMS_VALUE[0]*3+1;
$acmswert = array();
for ($i = 2; $i <= $anzahlLinks; $i++) {
$acmswert[$i] = array();
$acmswert[$i]["VAR"] = "CMS_VAR[$i]";
$acmswert[$i]["VAL"] = "CMS_VALUE[$i]";
}
?>
<table cellpadding="0" cellspacing="0" border="0">
<tr> <td>Text über den Downloads:
</td>
<?PHP
echo '<td class="text_medium" style="padding:5px"><input type="text" name="CMS_VAR[1]" value="CMS_VALUE[1]" size="60"/> <input type="image" src="images/submit.gif"></td></tr>';
?>
<tr> <td>Anzahl der Links:
</td>
<?PHP
echo '<td class="text_medium" style="padding:5px"><input type="text" name="CMS_VAR[0]" value="CMS_VALUE[0]" size="3"/> <input type="image" src="images/submit.gif"></td></tr>';
for ($i = 2; $i <= $anzahlLinks; $i++) {
#Selected img directory
$cms_dirname = $acmswert[$i]["VAL"];
#Selected img
$i++;
$cms_filename = $acmswert[$i]["VAL"];
if ($cms_dirname == '' || $cms_dirname == '0') {
$cms_dirname = 'videos/';
}
#Get paths
$sql = "SELECT
htmlpath, frontendpath
FROM
".$cfg["tab"]["clients"]."
WHERE
idclient = ".$client." ";
$db->query($sql);
if ($db->next_record()) {
$htmlpath = $db->f('htmlpath');
$frontendpath = $db->f('frontendpath');
}
$i--;
#Choose Video folder
echo '
<tr>
<td class="text_medium" style="padding:5px">'.mi18n("Multimediaverzeichnis wählen").': </td>
<td class="text_medium" style="padding:5px">';
echo '<select name="'.$acmswert[$i]["VAR"].'" style="width:200px">';
#Get upload directories
$sql = "SELECT DISTINCT
dirname
FROM
".$cfg["tab"]["upl"]."
WHERE
idclient='$client'
ORDER BY
dirname";
$db->query($sql);
$selected = false;
while ($db->next_record()) {
$dirname = $db->f('dirname');
if ($cms_dirname != $dirname) {
echo '<option value="'.$dirname.'"> '.$dirname.'</option>';
} else {
$selected = true;
echo '<option value="'.$dirname.'" selected="selected"> '.$dirname.'</option>';
}
}
if (!$selected) {
echo '<option value="0" selected="selected">'.i18n("Bitte wählen").'</option>';
} else {
echo '<option value="0">'.i18n("Bitte wählen").'</option>';
}
$i++;
echo '</select> <input type="image" src="images/submit.gif"></td></tr>';
#Choose Video file
echo '<tr><td class="text_medium" style="padding:5px">'.mi18n("Mulitmediadatei wählen").': </td>
<td class="text_medium" style="padding:5px">';
echo '<select name="'.$acmswert[$i]["VAR"].'" style="width:200px">';
echo '<option value="0" selected="selected">'.i18n("Bitte wählen").'</option>';
if ($cms_dirname != '0') {
#Get uploaded files
$sql = "SELECT
filename
FROM
".$cfg["tab"]["upl"]."
WHERE
idclient = '$client' AND
dirname = '$cms_dirname'
ORDER BY
filename";
$db->query($sql);
while ($db->next_record()) {
$img_name = $db->f('filename');
if ($cms_filename != $img_name) {
echo '<option value="'.$img_name.'"> '.$img_name.'</option>';
} else {
echo '<option selected="selected" value="'.$img_name.'"> '.$img_name.'</option>';
}
}
}
echo '</select> <input type="image" src="images/submit.gif"></td></tr>';
$i++;
if ($cms_dirname != '0') {
echo '<tr><td class="text_medium" style="padding:5px">'.mi18n("Linktext").'</td>';
echo '<td class="text_medium" style="padding:5px"><input type="text" name="'.$acmswert[$i]["VAR"].'" value="'.$acmswert[$i]["VAL"].'" size="60"/></td></tr>';
}
}
echo '</table>';
?>
<?php
Code: Alles auswählen
<?php
$anzahlLinks = CMS_VALUE[0]*3;
echo '<p>CMS_VALUE[1]</p><br /><br />';
for ($i=2; $i <= $anzahlLinks; $i++)
{
$cms_dirname = "CMS_VALUE[$i]";
$i++;
$cms_filename = "CMS_VALUE[$i]";
$i++;
$Linktext= "CMS_VALUE[$i]";
header("Content-Disposition: attachment; filename=".$cms_filename);
header("Content-Type: application/octet-stream");
echo '<p><a href="upload/'.$cms_dirname.$cms_filename.'">'.$Linktext.'</a></p><br />';
}
?>
Ich hoffe ich hab das noch halbwegs verständlich darstellen können. Ansonsten versuch ich es gerne nochmal, wenn der Text zu chaotisch war

Ich hoffe, ihr könnt mir helfen.
PhoeniXaC