AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Download - Files von Internetseite

Ein Thema von ATS3788 · begonnen am 1. Apr 2013 · letzter Beitrag vom 13. Apr 2013
Antwort Antwort
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#1

AW: Download mit javascript jquery

  Alt 11. Apr 2013, 07:56
Danke Valle dachte ich mir schon, habe das von www.html.de
als Antwort bekommen.

Neuer Ansatz neues Glück.

Code:
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{  //1
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari   //*x
  xmlhttp=new XMLHttpRequest();
  }                                       //*x
else
  {// code for IE6, IE5    //*y
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }                  //*y
xmlhttp.onreadystatechange=function() {   //2
 
 if(xmlhttp.readyState==4){ //3
  switch (xmlhttp.status){  //4
   case 200: {
   var S = xmlhttp.responseText;
    document.getElementById("myDiv").innerHTML= S;
    if (S == "") { document.getElementById("myDiv").innerHTML = "MMMhh"};
    break;
    };
   case 404:
   document.getElementById("myDiv").innerHTML="Download not available !"; break; //(HTTP-Status-Code ist '404')
   case 0:
   document.getElementById("myDiv").innerHTML="Server does not response !"; break; //(HTTP-Status-Code ist '0')
   default:
    log_error("Unknown Error !"); break; //(HTTP-Status-Code ist nicht '200')
  } // 4
 } //  3
}; // 2
xmlhttp.open("GET","download.php",true);
xmlhttp.send();
}; // 1
</script>
</head>
<body>

<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<p>Click the button several times to see if the time changes, or if the file is cached.</p>
<div id="myDiv"></div>
</body>
</html>

Zitat:
<?PHP
/**
* Dateien zum Download anbieten
*
* Systemvoraussetzung:
* Linux
* PHP 3, PHP 4, PHP 5
*
* Dateien zum Download anbieten
*
* LICENSE: GNU General Public License (GPL)
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2,
* as published by the Free Software Foundation.
*
* @category Verschlüsselung
* @author Damir Enseleit <info@selfphp.de>
* @copyright 2001-2006 SELFPHP
* @version $Id: download.php,v 0.10 2006/04/14 13:25:30 des1 Exp $
* @link http://www.selfphp.de
*/

/**
* Erstellt die Navigationsleiste für die einzelnen Seiten
*
* @param string $file Datei, die zum Download steht
* @param string $dir Verzeichnis mit abschließenden Slash (/)
* @param string $type Mime-Type
*
* @return void
*/

function makeDownload($file, $dir, $type)
{

header("Content-Type: $type");

header("Content-Disposition: attachment; filename=\"$file\"");

readfile($dir.$file);

}
// gif - image/gif
// jpg - image/jpeg
// png - image/png
// zip - application/zip
// txt - text/plain

$dir = '/download/';
$type = 'application/zip';
$file = 'Report0.zip';

if(!empty($_GET['file']) && !preg_match('=/=', $_GET['file']))
{
if(file_exists ($dir.$_GET['file']))
{
makeDownload($_GET['file'], $dir, $type);
}
}
?>
OK soweit bin ich nun.
Bekomme sogar xmlhttp.status 200
nur übertragen wird nix.
Hat noch einer eine Idee ?
Martin MIchael

Geändert von ATS3788 (11. Apr 2013 um 08:00 Uhr) Grund: slash vergessen
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#2

AW: Download mit javascript jquery

  Alt 11. Apr 2013, 09:35
Das Problem liegt hier im php script

if(file_exists ($dir.$_GET['file']))

ich habe ein test.txt im ordner download angelegt
und file_exists gibt false aus.
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#3

AW: Download mit javascript jquery

  Alt 11. Apr 2013, 11:04
Hallo,

der PHP-Skript sieht brauchtbar aus. Aber mir ist erneut nicht klar, was dieses JavaScript da oben für einen Vorteil bringen soll. Lass es weg und verlinke einfach direkt auf diese download.php.

Was das file_exists Problem angeht: du musst in $dir den absoluten Pfad zu diesem Verzeichnis auf dem Server schreiben. Sowas wie "/srv/www/htdocs/download" oder so. Wenn du einen Fehler von PHP bekommst siehst du den Pfad meistens. Der hängt auch stark von deinem Anbieter ab. Im Zweifel einfach mal eine Funktion in PHP aufrufen, die nicht existiert. In der dann erscheinden Fehlermeldung siehst du den Pfad.

Noch 'ne Frage: warum erstellst du nicht einfach eine Datei, nennst sie .htaccess, schreibst Header set Content-disposition "attachment;" rein und lädst sie in den Downloads-Order?

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#4

AW: Download mit javascript jquery

  Alt 11. Apr 2013, 11:09
Oh Man was für eine schwere Geburt

Hatte am Anfang vor download
ein slash "/" zu viel.
(Obwohl die PHPler exta sagten , das muss dahin)

Werde auf meinem Webauftritt,
Download von Dateien mal verarbeiten.

Das gut daran habe nun mini rudimentäre Ahnung von php.

Danke an alle in diesem tollen Forum.

Zitat:
Wenn Du Dich nicht mehr konzentrieren kannst
lernst Du erst zu schätzen, was es heißt
klar zu denken.
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#5

AW: Download File Webpage (Homepage)

  Alt 11. Apr 2013, 11:14
Valle danke

Ich habe keine Ahnung was ich da machte !!!!!!!!

Nun weiß ich etwas mehr. Wenn Wissen selbstverständlich wird,
dann versteht man die Anfänger nicht mehr.

Den JS brauche ich für irgendwann später um eine große Datei zu splitten.
Martin MIchael

Geändert von ATS3788 (12. Apr 2013 um 10:43 Uhr) Grund: Überschrift war nicht passend
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#6

AW: Download Datein im eigenen Webspace

  Alt 13. Apr 2013, 07:21
Ich möchte in wenigen Worten beschreiben.
Wie ich zum Ziel kam.

1.) Meine Naivität dies alleine mit HTML und JavaScript lösen zu können.
2.) Bei meinem Provider gab es die Möglichkeit PHP Messages freizuschalten, was ich viel zu spät durch Zufall bemerkte.
3.) Mit PHP einer wirklich einfachen Script Sprache kommt man zum Ziel

der Basic Script sieht bei mir so aus

Code:
<?PHP
$fname = preg_replace("/[^0-9a-z.\-_ ]/i", "", strip_tags(trim($_GET["file"])));

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Cache-Control: private',false);

header('Content-Type: application/force-download');
//header("Content-Type: application/octet-stream");
header('Content-Disposition: attachment; filename="anders.pas"' );
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($fname));

readfile("download/$fname");
exit();
?>
4.) Ein paar Links die für mich sehr sehr Hilfreich waren

http://php.lernenhoch2.de/lernen/php-tutorial-als-pdf/
http://www.feenders.de/ratgeber/expe...erzwingen.html
http://webdesignblog.de/webdesign/ca...er-php-fehler/

Besonderen Danke an Valentin

Ein schönes sonniges Wochenende

ZenForAll
Martin MIchael
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz