4images Forum & Community

4images Issues / Ausgaben => Discussion & Troubleshooting => Topic started by: Sr.Corto on December 12, 2006, 07:11:54 PM

Title: Cannot get temporary file! -bei zip downloadversuch
Post by: Sr.Corto on December 12, 2006, 07:11:54 PM
Hi! Wenn ich ein oder mehrere gezippte Bilder downloaden will, kommt die Fehlermeldung: "Cannot get temporary file!"

Weiss jemand Rat?

Vielen Dank!

MfG Corto

edit: Ihr könnt euch auch gerne mal unter http://pino.pytalhost.de/4images/ mit test/test anmelden und schauen
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Jan on December 14, 2006, 12:31:22 PM
Das bedeutet, dass die Funktion tmpfile() (http://de.php.net/manual/de/function.tmpfile.php) keine temporäre Datei im System anlegen kann. Frage mal bei Deinem Hoster diesbezüglich nach. Evtl. hat er das in der Konfiguration unterbunden.

Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Sr.Corto on December 14, 2006, 05:21:39 PM
in welchen ordner wird die datei denn geschr.?

MfG Corto
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Jan on December 14, 2006, 05:23:48 PM
In den temp-Ordner des Servers. Das hat nichts mit 4images deshalb musst Du auch Deinen Hoster kontaktieren.

Gruß Jan
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Sr.Corto on December 17, 2006, 01:43:48 AM
hab beim hoster nachgefragt....die hatten tmpfile() mal wegen eines sicherheitsloches in php deaktiviert, jedoch sollte es seit einiger zeit wieder funktionieren...(er hat mir auch noch geraten php einmal zu deaktivieren, kurz zu warten und wieder zu aktivieren... hat aber auch nix gebracht)

Gibt es nicht vllt. noch eine andere Lösung?

Vielen Dank!

MfG Corto
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Jan on December 18, 2006, 12:36:52 PM
Probiere mal folgendes. Öffne includes/zip.php und ersetze

Code: [Select]
$this->tmpfp = @tmpfile();
mit

Code: [Select]
    $path = ROOT_PATH . "tmp";
    $handle = opendir($path);
    while ($file = @readdir($handle)) {
      if ($file{0} == ".") {
        continue;
      }

      if (@is_file($path."/".$file)) {
        if ((filemtime($path.'/'.$file) + (60 * 5)) < time()) {
          @unlink($path."/".$file);
        }
      }
    }

    $this->tmpfp = fopen(tempnam($path, "zip"), "wb+");

Falls es damit noch nicht funktioniert, erstellst Du im 4images-Ordner einen Ordner "tmp" (chmod 777).
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Sr.Corto on December 18, 2006, 03:58:49 PM
HI!

Vielen Dank!

Der Hoster hat das wohl mal selbst ausprobiert und hat mir geschrieben, dass ich doch mal
Code: [Select]
$this->tmpfp = @tmpfile();mit
Code: [Select]
$this->tmpfp = fopen(tempnam(ini_get("upload_tmp_dir"),""), "w+");
ersetzen solle.... hier wird ja dann die funktion fopen() benutzt... wo genau liegt der unterschied, bzw. was ist besser?

Danke! MfG Corto
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Jan on December 18, 2006, 04:01:18 PM
Das ist im Prinzip das gleiche. Er benutzt das Uploadverzeichnis von PHP und ich ein egenes Verzeichnis plus Routine um alte Dateien zu löschen. Kannst Dir eins aussuchen ;)
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Sr.Corto on December 18, 2006, 04:03:15 PM
aso... und wann werden die tmps von php dann gelöscht? ...eigentlich auch nich so wichtig...Danke!!!

MfG Corto
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: matobi on June 12, 2008, 01:46:33 PM
Hallo! Ich habe ebenfalls ein Problem mit dem zip-Download

Bei meinem Hoster habe ich auch schon nachgefragt, woraufhin mir der folgende Tmp-Pfad mitgeteilt wurde:

/is/htdocs/user_tmp/MEINE_KUNDENNUMMER/

Meine Frage ist nun, wie bzw. wo soll ich den Pfad in der Datei zip.php einfügen?

Grüße, matobi
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: matobi on June 13, 2008, 01:37:40 PM
O.K. ich habe das Problem behoben!

ich habe einfach wie oben beschrieben:

$this->tmpfp = @tmpfile();

durch

$this->tmpfp = fopen(tempnam(ini_get("upload_tmp_dir"),""), "w+");

ersetzt. Jetzt geht es!
Title: Re: Cannot get temporary file! -bei zip downloadversuch
Post by: Nicky on June 13, 2008, 02:09:04 PM
sorry, hab dein voriges posting nicht gelesen...
schön das es funktioniert.

LG