php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.06.2005, 16:38  
Benutzer
 
Registriert seit: 28.02.2005
Beiträge: 77
EvilDragon
EvilDragon eine Nachricht über MSN schicken
Standard downloadbutton für bilder

hichen, einige threads gibt es ja schon da zu aber keine lösung...
ich arbeite an einer galerie und hab unter dem bild einen link download, wenn der gedrückt wird, soll der speicherndialog angezeigt werden udn das bild gespeichert werden...

das klappt auch so weit aber das bild hat entweder eine falsche größe (kb) bzw. es lässt sich einfach nciht öffnen... hier der code:
PHP-Code:
<?php
if ($_REQUEST['pic_id']!=''$sub_id $_REQUEST['pic_id'];
else 
$sub_id htmlentities($_POST['pic_id']);

if (
$_REQUEST['f']==1) {
  
$pic=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['cd_galerie_pic']." WHERE pic_id='".$pic_id."'"));
  
$dateiname='../images/galerie/'.$_REQUEST['cat_id'].'/'.$_REQUEST['sub_id'].'/'.$_REQUEST['pic_id'].'_'.$pic['pic_org_name']; // Dateiname inkl. Verzeichnis bzw. Domain (ORT)
  
$dateiname2=$_REQUEST['pic_id'].'_'.$pic['pic_org_name']; // Dateinamen
  
$dateiendung=strrchr($dateiname2"."); // Ermittelt die Dateiendung
  
$dateiendung=substr($dateiendung,1); // Nimmt den Punkt vor der Dateiendung weg
  
header("Content-type: application/$dateiendung"); // Übermittelt den Content-Type
  
header("Content-Disposition: attachment; filename=$dateiname2"); // Übermittelt, was heruntergeladen werden soll
  
header("Content-Length: ".filesize($dateiname)); // Übermittelt die Größe der Datei
  
readfile($dateiname); // Dateiinhalt übertragen
}?>
ignoriert am besten das was bei dateiname steht, dass ist der pfad halt mit orndern ect.

ich hab mich an diesem tutorial versucht, beispiel 2 bzw. unten
http://www.yubb.de/artikel528.html

?>[/php]
__________________

EvilDragon ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.06.2005, 16:54  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1) link zu nem beispiel
2) lass mal das readfile weg und ruf das script aus, werden vieleicht irgendwelche ausgaben gemacht ?
3) header("Content-type: application/$dateiendung"); // Übermittelt den Content-Type weg damit, ein content-type: application/octet-stream
solte reichen, wenn du die datei endung angibst wirds sonst problematisch oder ein programm will das teil direkt öffnen
4) bei php5 kann readfile nur maximal 2 MB ausgeben


mfg
robo47
robo47 ist offline  
Alt 23.06.2005, 17:32  
Benutzer
 
Registriert seit: 28.02.2005
Beiträge: 77
EvilDragon
EvilDragon eine Nachricht über MSN schicken
Standard

1) also der link zum beispiel steht doch oben...

2)hab ich weggelassen und ja die dateigröße, der name, der pfas stimmen (mit print getestet)

3) hab ich geändert

4) hab ich nun aus dem code entfernt

hier der code:
PHP-Code:
<?php
  $dateiname
='images/galerie/'.$_REQUEST['cat_id'].'/'.$_REQUEST['sub_id'].'/'.$_REQUEST['pic_id'].'_'.$pic['pic_org_name']; // Dateiname inkl. Verzeichnis bzw. Domain (ORT)
  
$dateiname2=$_REQUEST['pic_id'].'_'.$pic['pic_org_name'];
  
$dateiendung=strrchr($dateiname2".");
  
$dateiendung=substr($dateiendung,1);
  
header("Content-type: application/octet-stream");
  
header("Content-Disposition: attachment; filename=$dateiname2");
  
header("Content-Length: ".filesize($dateiname));
?>
aber runtergeldaen wird immer noch ein file mit 3 kb statt 11kb und genau den fehler haben auch die meisten die hier ein ähnlichen thread eröffnet haben
__________________

EvilDragon ist offline  
Alt 23.06.2005, 17:52  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

tja dann öffne mal die datei mit nem texteditor (notepad oder wordpad) und schau mal was da drinsteht.

mfg
robo47
robo47 ist offline  
Alt 23.06.2005, 17:56  
Benutzer
 
Registriert seit: 28.02.2005
Beiträge: 77
EvilDragon
EvilDragon eine Nachricht über MSN schicken
Standard

sieht aus wie die eigentliche internetseite nur in asci *lol* und wi ekan man das umgehen?
__________________

EvilDragon ist offline  
Alt 23.06.2005, 17:59  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

was heißt wie die eigentliche Seite`? gibst du vorher etwa noch dein standard-html aus ? dann gibts hier aber mit stock uff die ohrn dass die fies platze !
robo47 ist offline  
Alt 23.06.2005, 18:03  
Benutzer
 
Registriert seit: 28.02.2005
Beiträge: 77
EvilDragon
EvilDragon eine Nachricht über MSN schicken
Standard

*loL*nein eigentlich nicht...

das ist doch das was ausgegeben wird: header("Content-Length: ".filesize($dateiname));

und da drin istder direkte pfad zum bild....

(hofft das der stock weg bleibt)

hier mal ein beispiel un dann unter funktionen auf download klicken
http://www.codedragon.ath.cx/codedra...nav=1&nohead=1
__________________

EvilDragon ist offline  
Alt 23.06.2005, 18:06  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

mal bitte einen Link zu nem beispiel, ich frag mich grad ob du dein php ausgibst oder was auch immer ?
robo47 ist offline  
Alt 23.06.2005, 18:11  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

argl phpkit
naja ich weis ja ned was du da wo wie eingebaut hast, auf jeden fall scheint dein script überhaupt nicht aktiv zu werden:

Zitat:
~/temp # wget -dv http://www.codedragon.ath.cx/codedragon/include.php? path=galerie/pic.php&cat_id=3&sub_id=4&pic_id=111&f=1&nofuss=1& nonav=1&nohead=1
[1] 23722
[2] 23723
[3] 23724
[4] 23725
[5] 23726
[6] 23727
[7] 23728
[2] Done cat_id=3
[3] Done sub_id=4
[4] Done pic_id=111
[5] Done f=1
[6] Done nofuss=1
[7] Done nonav=1
a15177638:~/temp # Setting verbose (102) to 1
DEBUG output created by Wget 1.9+cvs-dev on linux-gnu.

--18:10:06-- http://www.codedragon.ath.cx/codedra...path=galerie/p ic.php
=> `include.php?path=galerie%2Fpic.php'
Resolving www.codedragon.ath.cx... 82.140.29.109
Caching www.codedragon.ath.cx => 82.140.29.109
Connecting to www.codedragon.ath.cx|82.140.29.109|:80... connected.
Created socket 3.
Releasing 0x8082ad0 (new refcount 1).

---request begin---
GET /codedragon/include.php?path=galerie/pic.php HTTP/1.0
User-Agent: Wget/1.9+cvs-dev
Accept: */*
Host: www.codedragon.ath.cx
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 200 OK
Date: Thu, 23 Jun 2005 16:09:13 GMT
Server: Apache/2.0.52 (Win32) mod_ssl/2.0.52 OpenSSL/0.9.7e PHP/5.0.3
X-Powered-By: PHP/5.0.3
Set-Cookie: PHPKITSID=f22350be4a41201293e6c25783603b56; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: user_id=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
Set-Cookie: user_name=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
Set-Cookie: user_pw=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
Set-Cookie: PHPKITSID=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
Set-Cookie: user_id=0; expires=Fri, 24-Jun-2005 16:09:13 GMT; path=/
Set-Cookie: user_name=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
Set-Cookie: user_pw=992626668dd69830d75cb9369627ea5f; expires=Fri, 24-Jun-2005 1 6:09:13 GMT; path=/
Set-Cookie: PHPKITSID=f22350be4a41201293e6c25783603b56; expires=Fri, 24-Jun-2005 16:09:13 GMT; path=/
Connection: close
Content-Type: text/html; charset=ISO-8859-1

---response end---
200 OK

Stored cookie www.codedragon.ath.cx -1 (ANY) / <session> <insecure> [expiry none ] PHPKITSID f22350be4a41201293e6c25783603b56
Length: unspecified [text/html]

[ <=> ] 52,166 26.86K/s

Closed fd 3
18:10:09 (26.77 KB/s) - `include.php?path=galerie%2Fpic.php' saved [52,166]
kommt nur der html-header und ne ausgabe, weis ja ned was dein phpkit da macht ....

mfg
robo47
robo47 ist offline  
Alt 23.06.2005, 18:24  
Benutzer
 
Registriert seit: 28.02.2005
Beiträge: 77
EvilDragon
EvilDragon eine Nachricht über MSN schicken
Standard

das kit hat da mit iegentlich ncihts z utun... hab die galerei selber gemach tund hald auch eine datei codedragon/galerie/download.php diese wird included in die pic.php und in der download.php ist der code über den wir die ganze zeit rätseln aber naja danke für diene zeit und gedult
__________________

EvilDragon ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bilder ohne DB sicher speichern Diet PHP Tipps 2005 6 25.03.2009 00:07
Zip Archiv entpacken und Bilder verkleinern Simon9990 PHP Tipps 2008 5 08.10.2007 00:32
Bilder in HTML-Mails werden willkürlich "verissen" hoffnungsloser PHP-Fortgeschrittene 3 25.04.2007 14:48
bilder zu groß?! lindner PHP Tipps 2006 9 19.10.2006 08:32
Bilder "schützen" PHP Tipps 2006 4 06.03.2006 15:25
Bilder Ordner hochladen? CHRIS PHP Tipps 2005-2 3 30.12.2005 17:20
Bilder löschen PHP Tipps 2005-2 4 24.10.2005 11:37
Bilder aus einem unterverzeichis anzeigen.Hilfe PHP Tipps 2005-2 3 12.09.2005 15:36
Mehrere Bilder Hochladen und bearbeiten PHP Tipps 2005-2 7 23.07.2005 13:48
Bilder in Tabellen nixdorf HTML, Usability und Barrierefreiheit 36 09.05.2005 21:15
[Erledigt] Bilder frei positionieren und von Text umfließen lassen. HTML, Usability und Barrierefreiheit 10 24.04.2005 00:05
Bilder nach Namen anzeigen PHP Tipps 2005 11 06.03.2005 15:41
Bilder aus der Datenbank Skazi Datenbanken 2 09.02.2005 13:42
Bilder upload (Massen) PHP Tipps 2005 11 06.01.2005 14:14
1000de bilder einfügen ab schnell..? :-) PHP Tipps 2004 12 11.08.2004 20:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
downloadbutton für bilder header, bilder php verlinkung downloaden

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.