Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Modul zum Downloaden von Bildern

Eingetragen von stebeg (463)
am 25.06.2010 - 09:14 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,

ich schreibe grade ein Modul, mit dem man Bilder über einen Download-Diaglog herunterladen kann, also ohne das Bild im Browser zu öffnen. Nur leider scheint der Download nicht ganz zu klappen. Der Download-Dialog öffnet sich zwar, aber das Bild wird nicht heruntergeladen wenn ich auf speichern klicke. Hier mal der Code:

<?php
function my_gallery_menu()
{
 
$items = array();
 
 
$items['meine-seite/bilder/%'] = array(
   
'title' => 'Meine Bilder Gallerie',
   
'page callback' => 'my_gallery_download_img',
   
'page arguments'    => array(2),
   
'access arguments' => array('view my gallery'),
   
'type' => MENU_CALLBACK,
    );
 
  return
$items;
}

function
my_gallery_download_img($arg)
{
 
$datei = '/sites/default/files/myimg/'.$arg;
 
$akt_type ="image/jpeg";
 
$size = filesize($datei); 

 
header("Content-Type: ".$akt_type); 
 
header("Content-disposition: attachment; filename=".$datei); 
 
header("Pragma: no-cache"); 
 
header("Expires: 0"); 
 
header("Content-length: ".$size); 
 
readfile($datei);
}
?>

Der Download wird dann wie in folgender Zeile verlinkt:

<?php
...
$page_content .= "<a href='".$base_path."meine-seite/bilder/".$datei."'>Download</a>";
...
?>

Bei Versuch das Bild herunterzuladen bekomm ich dann folgende Fehlermeldungen

Zitat:

warning: filesize() [function.filesize]: stat failed for /sites/default/ ....
warning: readfile(/sites/default/files/myimg/Bild0001.JPG) [function.readfile]: failed to open stream: No such file or directory

was ja eigentlich darauf hindeutet, dass der Pfad zum Bild falsch ist. Lass ich mir aber den Pfad des Bildes in der Funktion my_gallery_download_img ausgeben oder folge dem Pfad des Bildes in der Fehlermeldung, so lande ich bei dem Bild. Der Pfad it also ok.

Jemand ne Idee wo der Fehler liegen könnte?

‹ Link aus PHP-Include umleiten in ein Node Formular ohne hook_form_alter modifizieren [gelöst] ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Linux und seine Verzeichnisstruktur ;)

Eingetragen von Methos (196)
am 28.06.2010 - 18:39 Uhr

Hallo,

der Fehler wird darin liegen dass, du readfile() den falschen Pfad mitgibst ;)

du sagst die Datei liegt unter '/sites/default/files/myimg/Bild0001.JPG' , was ich mal schwer bezweifle.

Du kannst die Datei vermutlich mittels http://deinedomai.tld/sites/default/files/myimg/Bild0001.JPG aufrufen.

Und genau hier kommt dein Denkfehler ins Spiel.
Durch das erste / zwingst du readfile dazu die Datei vom root-Ordner des Servers aus zu suchen, was der funktion nicht gelingt (deswegen gibt bereits filesize einen Fehler aus)

Die Datei liegt aber in irgendwas der art '/var/www/meinprojekt/public_html/sites/default/files/myimg/Bild0001.JPG', wobei '/var/www/meinprojekt/public_html' der Pfad auf dem Server ist, auf den deine Domain zeigt.
(wo du dich gerade befindest vereichnisstechnisch kannst du z.B. mit getcwd() herausfinden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Best Practices for Plain Text Notes
  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 2 Tagen 12 Stunden
  • Guten morgen und Danke
    vor 2 Tagen 18 Stunden
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 3 Tagen 1 Stunde
  • Danke Schmittrich. Die Frage
    vor 4 Tagen 16 Stunden
  • Keine Antwort auf die Frage nach dem Woher
    vor 4 Tagen 19 Stunden
  • Danke ich werde mir die
    vor 6 Wochen 2 Tagen
  • Vielen Dank für Ihren
    vor 6 Wochen 5 Tagen
  • Composer ist sehr ratsam
    vor 7 Wochen 5 Stunden
  • Vielen Dank für den
    vor 7 Wochen 2 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 7 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250324
Registrierte User: 20571

Neue User:

  • alxshell
  • FesObsemo
  • AnthonyhoF

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 11 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association