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

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 2 Tagen 5 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Tagen 21 Stunden
  • melde mich mal wieder, da ich
    vor 8 Wochen 1 Stunde
  • Hey danke
    vor 8 Wochen 20 Stunden
  • Update: jetzt gibt's ein
    vor 8 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 3 Tagen
  • In der entsprechenden View
    vor 9 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 24 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