PHP Temporäre Datei öffnen?

pp3345

Lieutenant
🎅Rätsel-Elite ’24
Registriert
Feb. 2008
Beiträge
637
Ich habe folgenden Code:

PHP:
$temp = tmpfile();
fopen($temp, "a+");

Dabei kommt allerdings folgender Fehler:

Warning: fopen() expects parameter 1 to be string, resource given in C:\xampp\htdocs\Test\test.php on line 62
 
Das Problem ist, das tmpfile befindet sich in einer anderen Funktion als diese, in der es benutzt werden muss, welche mehrmals hintereinander aufgerufen werden muss, weswegen ich das tmpfile nicht in der zweite Funktion setzen kann, da dann ja bei jedem Aufruf eine neue Datei generiert werden würde, oder? Gibt es evtl. eine Möglichkeit, $temp auch in der zweiten Funktion zu bekommen?
 
pp3345 schrieb:
Gibt es evtl. eine Möglichkeit, $temp auch in der zweiten Funktion zu bekommen?
übergib es doch als parameter:
PHP:
$tmp = funktion1();
funktion2( $tmp );
oder wenn es durch den rückgabetyp nicht geht per referenz:
PHP:
funktion1( $tmp );
funktion2( $tmp );
beim 2. fall musst du darauf achten, dass $tmp als referenz genommen wird. d.h. du musst die funktion wie folgt deklarieren:
PHP:
function funktion1( $parameter, &$TemporaerErstellteDatei ) { ... };
 
Du musst eben tempnam() benutzen und diesen String dann irgendwo speichern (in einem Objekt?) bzw. zwischen deinen Funktionen übergeben (wobei das mit dem geöffneten File genauso gehen würde; du musst halt an das fclose() am Ende denken wenn du ganz fertig bist). Notfalls kannst du diesen String auch in ner anderen Datei oder Datenbank speichern...
 
Danke, ihr habt mir sehr geholfen.
 
Zurück
Oben