Insérer des éléments de type FILE dans des sessions pour un panier

Eléphanteau du PHP | 35 Messages

20 janv. 2009, 18:25

Bonjour à tous !

j'espère que vous allez bien en cette nouvelle année. Pour ma part je bloque sur un petit sujet...
Je dois faire un panier mais l'utilisateur peut insérer des images et comme je ne veux pas insérer directement dans la base de données le lien vers mes images... Je voulais savoir si c'était possible de faire passer des élément de type $_FILE dans une variable de session... Je me demandais si le serveur comprendrais ou pas...

Je pense que c'est possible mais je voudrais avoir confirmation.
Il faut aussi que l'utilisateur ne change pas le chemin de ces photos avant de tous validé...

Je voulais vous soumettre ma reflexion sans doute fausse.

A bientôt

Bonne soirée

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 janv. 2009, 15:30

hmm... alors pour répondre à la première question, tu peux effectivement linéariser les flux des images qui sont envoyés pour l'utilisateur pour les stocker en session (de la même manière qu'on peut les mettre en base de données), maintenant, ca risque de très sévèrement allourdir tes sessions.

Lorsque l'utilisateur t'envoi un fichier, celui-ci est dans tous les cas uploadé sur le serveur dans un dossier temporaire de php. A partir de là, le plus simple est de le déplacer dans un autre dossier (permanent ou temporaire) et simplement stocker son emplacement dans ta session pour ne pas avoir à le lire à chaque fois que tu veux accéder aux infos de la session...

Lorsque l'utilisateur se déconnecte, il te suffit de supprimer les fichiers du répertoire ou s'ils sont validés de les déplacer dans le dossier final et d'ajouter ces informations en base.

Cela résout également ton problème de chemin, puisqu'une fois que les fichiers sont sur le serveur, c'est toi qui gère leur emplacement :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 35 Messages

21 janv. 2009, 15:50

merci de ta réponse je pense faire comme cela alors je pense que c'est le mieux.

Même si je dois faire une manipulation des images sur le serveur je vais quand même m'orienté vers ta solution.

A bientôt bonne journée à vous