php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-04-2005, 10:23
The Sidewinder
 Junior Member
Links : Onlinestatus : The Sidewinder ist offline
Registriert seit: Feb 2005
Beiträge: 64
The Sidewinder ist zur Zeit noch ein unbeschriebenes Blatt
Standard Feststellen, wann Download fertig ist? (Um Datei zu löschen)

Hi,

hat jemand vielleicht ne Idee, wie man mit PHP (oder auch HTML/JavaScript) feststellen kann, wann eine Datei von einem Server zum Client heruntergeladen wurde, also wann der laufende Download der Datei fertig ist?

Ich hab quasi ein PHP-Script, das nach mehreren Operationen einen temporäre Datei in einem Verzeichnis anlegt und einen Link dazu ausgibt. Nach dem die Datei erfolgreich runtergeladen wurde soll diese automatisch in dem Verzeichnis auf dem Server wieder gelöscht werden. Sollte entweder direkt im Anschluß oder in "der nächsten Zeit" danach geschehen.

Bin für jede Idee dankbar.


Gruß Side
Mit Zitat antworten
  #2 (permalink)  
Alt 08-04-2005, 10:25
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Lösche Dateien in dem Verzeichnis, die älter als 3 Tage sind (Beispielwert)

Oder verschicke nicht den Link zur Datei direkt, sondern einen Link der Art
Code:
download.php?file=45
In download.php ermittelst du dann die nötigen Daten zu Datei 45 und prüfst auch das Ablaufdatum.

Die Ausgabe erfolgt dann per readfile und Co. Genaueres steht an tausenden Stellen hier im Forum
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #3 (permalink)  
Alt 08-04-2005, 12:27
The Sidewinder
 Junior Member
Links : Onlinestatus : The Sidewinder ist offline
Registriert seit: Feb 2005
Beiträge: 64
The Sidewinder ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also erstmal mercy für die Antwort.

Das mit dem ersten Tipp wäre als Notlösung denkbar. Aber mir fehlt momentan so ein wenig der Weg zur Umsetzung. Ich hab also ein Skript letztendlich, welches meine angegeben Verzeichnisse durchsucht und alle Dateien die älter als 3 Tage sind löscht. Aber wie löse ich das Skript aus?
Oder meinst Du, nach jedem Download soll er das Skript ausführen um alte "Restbestände" zu löschen?


Das mit dem "download.php?file=45" mache ich bereits so in der Art. Auch mit readfile.
Ich steh aber ein bisschen auf dem Schlauch (war ne lange Nacht). Was meinst Du mit Ablaufdatum bzw. wie kann ich hier prüfen, dass die Datei übertragen wurde?
Mit Zitat antworten
  #4 (permalink)  
Alt 08-04-2005, 12:49
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

In der download.php liest du die IDs aller Dateien, deren Ablaufdatum überschritten ist und löschst sie.
Danach prüfst du, ob die Datei mit der übergebenen ID noch vorhanden ist und wenn ja, gibst du sie aus und löschst sie danach.

Zum Speichern bietet sich eine Tabelle an oder meinetwegen auch eine Textdatei.
Du solltest in einer Tabelle drei Spalten haben:
- ID (Primärschlüssel, auto_increment)
- Dateiname
- Ablaufdatum
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 08-04-2005, 12:51
Arni
 PHP Junior
Links : Onlinestatus : Arni ist offline
Registriert seit: Mar 2001
Ort: Miami F.L
Beiträge: 691
Arni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
wie kann ich hier prüfen, dass die Datei übertragen wurde?
Dieses kannst du so nicht prüfen.
D.h wenn jemand einen Download startet, diesen aber nach der hälfte
abbricht, kannst Du dieses nicht feststellen ( ich glaube das wolltest Du machen oder ?)
Mit Zitat antworten
  #6 (permalink)  
Alt 08-04-2005, 13:13
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.279
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Doch ... theoretisch über die Funktion connection_status() die genau für sowas existiert ... !
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #7 (permalink)  
Alt 08-04-2005, 13:24
The Sidewinder
 Junior Member
Links : Onlinestatus : The Sidewinder ist offline
Registriert seit: Feb 2005
Beiträge: 64
The Sidewinder ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@mrhappiness

ok, jetzt hab ich es geschnallt. Ist eigentlich auch logisch und wäre ne zufriedenstelende Lösung für mein Problem.

@Arni

Also ob die Datei letztendlich beim Clienten komplett angekommen ist, dass wäre nicht so wichtig. Die Datei wird für eine Session speziell für den User kreiert und nach dem Download soll sie wieder verworfen werden. Ob der User die Datei nun will oder doch abbricht und die Datei somit verwirft ist egal.
Mit Zitat antworten
  #8 (permalink)  
Alt 08-04-2005, 19:15
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von The Sidewinder
Die Datei wird für eine Session speziell für den User kreiert und nach dem Download soll sie wieder verworfen werden.
warum erzeugst du dann überhaupt eine physische datei?

warum machst du das nicht analog zu so einem downloadscript - nur dass du eben nicht mit readfile eine datei einliest, sondern gleich nur die benötigten daten, anstatt sie in eine datei zu schreiben, per echo o.ä. ausgibst ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 09-04-2005, 17:57
The Sidewinder
 Junior Member
Links : Onlinestatus : The Sidewinder ist offline
Registriert seit: Feb 2005
Beiträge: 64
The Sidewinder ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich arbeite an einem Online-Dienst für Signaturen für Dateien.

Man schickt ne Datei an den Server und der erzeugt eine Signatur, wleche nach dem deutschen SigG rechtsgültig ist. Der User hat die Möglichkeit die Signatur auf dem Server abzuspeichern (Dokumentensystem) oder sie sich lokal auf seinen Rechner runterzuladen. Danach soll sie auf dem Server eben wieder gelöscht werden.
Mit Zitat antworten
  #10 (permalink)  
Alt 09-04-2005, 20:12
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von The Sidewinder
Der User hat die Möglichkeit die Signatur auf dem Server abzuspeichern (Dokumentensystem) oder sie sich lokal auf seinen Rechner runterzuladen.
dann lass ihn die auswahl doch einfach vorher treffen, ob er abspeichern oder nur runterladen will - und erzeuge entweder die datei physisch, oder gebe die daten nur an den client aus.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 11-04-2005, 12:21
The Sidewinder
 Junior Member
Links : Onlinestatus : The Sidewinder ist offline
Registriert seit: Feb 2005
Beiträge: 64
The Sidewinder ist zur Zeit noch ein unbeschriebenes Blatt
Standard Lösung des Problems

Also ich hab das Problem jetzt soweit gelöst. Denke mal, ich hab mich auch unnötig kompliziert ausgedrückt.

Das steht in der eigentlichen Script-Datei.

PHP-Code:
...
$fp fopen($dir_temp.$file_name"w");
fwrite($fp$signature);
fclose($fp);

$sec 5;
header("Refresh: $sec; download.php?dl=" $file_name);
... 
Und so sieht meine download.php Datei aus.

PHP-Code:
$dir  $_SERVER['DOCUMENT_ROOT']. "/upload/Temp/";
$file $dir.basename($_REQUEST['dl']);
  
if (isset(
$_REQUEST['dl']) && file_exists($file) ) {
  
header('Content-type: application/force-download');
  
header('Content-Transfer-Encoding: Binary');
  
header('Content-length: '.filesize($file));
  
header('Content-disposition: attachment;filename='.basename($file));
  
readfile($file);
  
unlink($file);
} else {
  echo 
'Die Datei wurde nicht gefunden.';


Damit klappt das so, wie ich das wollte.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

MyPHPlib-Bibliotheksverwaltung

MyPHPlib ist eine Scriptsammlung, mit der die Bibliotheksverwaltung incl. Ausleihe und Recherche gelingt. Die Scriptsammlung wird seit Mitte 2005 entwickelt und ist besonders an den Bedürfnissen von Schulen angepasst.

11.08.2022 RobertG | Kategorie: PHP/ Management
responsive vertikales Menu

Diese Menu basiert auf php, jQuery, css und ajax. Wer sein Menu mit nested sets vertikal realisieren will, findet darin eine gute Lösung.

11.08.2022 COVISIONMEDIA | Kategorie: JAVASCRIPT/ Navigation
VIZUKA Affiliate CMS & Preisvergleich Portal ansehen VIZUKA Affiliate CMS & Preisvergleich Portal

Produktkalalog mit Preisvergleichfunktion, Gutscheinverwaltung und umfangreichem CMS. Live-Produktdaten! Nischen- oder Allg. Produktkatalog von hunderten Shops und über 60 Millionen Produkte mit wenigen Klicks erstellen. Mitglieder- & Werbekundenbereich.

10.08.2022 VIZUKA | Kategorie: PHP/ Affiliate-Programme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:47 Uhr.