Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datei in den Server-Cache laden

Empfohlene Antworten

Veröffentlicht

Hallo, ich habe folgendes Problem:

Ich muss auf dem Server eine zip-Datei erstellen dies mache ich mit PclZip.

Diese Datei wird erstellt wenn der Benutzer sie herunterladen soll.

Nun hab ich diese Datei und könnte Sie auf die Page verlinken, dann hab ich aber das Problem das ich ein Cronjob laufen haben muss der in bestimmten intervallen diese Dateien wieder vom Server löscht und das will ich nicht.

schön wäre es wenn man die Datei vom Server in den Cache vom Server laden könnte, dann mittels Header an den User senden und die lokale Datei gleich mit löschen.

Problem ist jetzt also, wie bekomme ich die Datei in den Speicher des Servers.

Also genauso wie wenn ich eine Datei per Formular uploade?

Schonmal besten Dank im Voraus :)

MFG

ich gehe mal davon aus, dass du die datei an einen bestimmt ort schon zu liegen hast und einfach nur noch in den cache ordner schieben willst!

da soll "stream_copy_to_stream" weiterhelfen können.

aus php manual (http://www.php.net/manual/de/):

<?php
$src = fopen('http://www.example.com', 'r');
$dest1 = fopen('first1k.txt', 'w');
$dest2 = fopen('remainder.txt', 'w');

echo stream_copy_to_stream($src, $dest1, 1024) . " bytes copied to first1k.txt\n";
echo stream_copy_to_stream($src, $dest2) . " bytes copied to remainder.txt\n";

?> [/PHP]

musst nur noch für deinen zweck anpassen!

mfg

ist leider nur PHP5 und ich fahre noch mit PHP4.

Der Wechsel würde ne Menge Aufwand bedeuten weil dann das Confixx angepasst werden müsste etc.

außerdem hätte ich dann doch auch 2 Dateien oder?

Denn mit fopen('','w') legt er ja automatisch die Datei auf dem Server an.

Wenn ich per Formular eine Datei uploade liegt die doch erstmal als gecache'te Datei vor und nur wenn ich sie mit move_uploaded_file() verschiebe bleibt sie erhalten. Genau da wo die Datei vorher ist will ich meine Datei auch haben.

Dann schick ich sie an den User und die Datei wird nach ablauf des Scriptes automatisch gelöscht. Is bestimmt garnicht so schwer aber erstmal die richtigen Funktionen dazu finden :(

Juhu ich habs jetzt geschafft :)

so siehts dann aus:


// Das erzeugt eine Tempdatei die nach Beendigung des Downloads
// vom Sys automatisch gelöscht wird:
$zipfile = tmpfile();
$zipfile = fopen('MeineDatei.zip', "r");

//Jetzt kann ich meine lokal erzeugte Datei wieder löschen:
unlink('MeineDatei.zip');

// Und anschließend per Header an den User senden:
header('Content-Description: File Transfer');
header('Content-type: application/force-download');
header('Content-disposition: attachment; filename=kassenbuch.zip;');

echo fread($zipfile, 1024);
[/PHP]

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.