2015-03-03 1 views
1

Après que j'utilise file_put_contents avec la variable resouce, cette variable apparaît vide et je ne peux pas la réutiliser.fonction php file_put_contents avec resouce ne fonctionne pas

.: Es

$stream = $entity->getData(); 
var_dump(stream_get_contents($stream));//this return string 
file_put_contents("test.txt",$stream); 
var_dump(stream_get_contents($stream)); //this return empty string 

Répondre

0

Comme écrit dans la documentation:

Si les données sont une ressource de flux, le tampon restant de ce flux seront copiés dans le fichier spécifié. Ceci est similaire à l'utilisation de stream_copy_to_stream().

Ce qui signifie qu'il va pousser le pointeur de flux à la fin du fichier.

Vous pouvez réinitialiser la position de votre pointeur à l'aide de rewind. (Ou garder une trace de votre position de flux si vous ne voulez pas de revenir en arrière complètement)

i.e.:

rewind($stream); 
+0

Merci. Travail bien. –