AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Downloadscript funktioniert nicht mit jeder Datei
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Downloadscript funktioniert nicht mit jeder Datei

Ein Thema von Andreas L. · begonnen am 11. Sep 2009 · letzter Beitrag vom 11. Sep 2009
Antwort Antwort
Andreas L.
(Gast)

n/a Beiträge
 
#1

[PHP] Downloadscript funktioniert nicht mit jeder Datei

  Alt 11. Sep 2009, 12:04
Hi,
ich möchte die Downloads meiner Programme zählen lassen, die URLs sollen aber weiterhin auf die Original-Datei zeigen z. B. http://www.cap-systems.com/files/coo...5.10_setup.exe

Also hab ich mir mit einer htaccess-Datei eine mod_rewrite Regel definiert die eine PHP-Datei aufruft, den Counter zählen lässt und dann die Datei zum download anbietet. Das sieht so aus:

.htaccess
Code:
RewriteRule ^files/cookiecrumbler/(.*)$ /includes/download.php?filename=cookiecrumbler/$1 [L]
download.php
Code:
<?php

  $allowedfileexts = array('exe', 'zip', '7z', 'dll', 'dat', 'xml');

  if(file_exists('/www/htdocs/XXX/files/' . $_GET['filename']))
  {
    $fileinfo = pathinfo('/www/htdocs/XXX/files/' . $_GET['filename']);
    if(in_array(strtolower($fileinfo['extension']), $allowedfileexts))
    {
      header('Content-type: application/' . $fileinfo['extension']);
      header('Content-Disposition: attachment; filename="' . $fileinfo['filename'] . '.' . $fileinfo['extension'] . '"');
      readfile('/www/htdocs/XXX/files/' . $_GET['filename']);

      //BEGIN: chCounter
      $chCounter_visible = 0;
      $chCounter_status = 'active';
      include('/www/htdocs/XXX/includes/chcounter/counter.php');
      //END: chCounter
    }
  }
  else
  {
    die('File not found!');
  }

?>
Leider wird der Zähler durch den oben angegebenen Link nicht erhöht. Rufe ich das Script direkt auf mit z. B. download.php?filename=cookiecrumbler/CookieCrumbler_1.5.10_setup.exe erhalte ich eine leere Seite die unendlich lange lädt. Rufe ich das Script aber mit einer XML-Datei als Parameter auf funktionierts: download.php?filename=pad/cookiecrumbler.xml

Was ist an der mod-rewrite-Regel und der PHP-Datei falsch?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: [PHP] Downloadscript funktioniert nicht mit jeder Datei

  Alt 11. Sep 2009, 12:14
Deine MIME-Typen sind Quark. application/exe ist kein MIME-Typ. application/7z genausowenig.

Um einen Download zu erzwingen, solltest du application/octet-stream als MIME-Typ verwenden - obs daran liegt weiß ich nicht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

Re: [PHP] Downloadscript funktioniert nicht mit jeder Datei

  Alt 11. Sep 2009, 12:18
AFAIK kann es sehr wohl daran liegen. Etwas mehr zu MIME-Typen gibt es u.a. hier.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#4

Re: [PHP] Downloadscript funktioniert nicht mit jeder Datei

  Alt 11. Sep 2009, 12:22
Zitat von jfheins:

Um einen Download zu erzwingen, solltest du application/octet-stream als MIME-Typ verwenden - obs daran liegt weiß ich nicht.
Geht trotzdem nicht: http://www.cap-systems.com/includes/...5.10_setup.exe Endlos-Schleife. Bin echt ratlos...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

Re: [PHP] Downloadscript funktioniert nicht mit jeder Datei

  Alt 11. Sep 2009, 12:25
Der Link funktioniert hier bei mir einwandfrei.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#6

Re: [PHP] Downloadscript funktioniert nicht mit jeder Datei

  Alt 11. Sep 2009, 12:53
Zitat von DeddyH:
Der Link funktioniert hier bei mir einwandfrei.
Mit "Ziel speichern unter" geht bei mir auch. Wenn ich aber ein neues Browserfenster/Tab öffne und den Link dort einfüge kommt wie gesagt eine Endlos-Schleife. Gestern hats schon wunderbar funktioniert, das einzige was ich geändert hab ist die Überprüfung der Dateiendung (um den Download von php-Sourcen zu unterbinden). Kann da aber auch keinen Fehler sehen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz