[php]attribuer un nom de fichier unique

attribuer un nom de fichier unique [php] - Programmation

Marsh Posté le 08-08-2001 à 15:10:24    

salut, je cree des images avec php, e je cherche un moyen pour que chaque fichier aie un nom unique..... comment faire?? ( parce que lorsque 2 instances du meme script utyilisent l'image, ils faut po qu'ils se gourent d'image... est ce que je suis clair?? merci.


---------------
When in doubt.... reboot
Reply

Marsh Posté le 08-08-2001 à 15:10:24   

Reply

Marsh Posté le 08-08-2001 à 15:14:21    

tu place un boucle, nomme les fichier image1.gif image2.gif image3.gif...
 
le chiffre est une variable créer par une boucle et tu concatène le tout.

Reply

Marsh Posté le 08-08-2001 à 15:37:40    

hehe, oui, mais non!
par ce que chaque instance du scrit va creer une image image1.gif... etc.. au final je retombe sur le meme probleme, de fichiers aux noms identiques.......... ouinnnnnnn


---------------
When in doubt.... reboot
Reply

Marsh Posté le 08-08-2001 à 15:41:30    

Moi, j'ai pas tout saisi... T'utilises des classes?? J'arrive pas à capter le vrai prob.
C'est koa que tu veux faire??

Reply

Marsh Posté le 08-08-2001 à 15:47:13    

ou on c'est  mal compris ou alors on s'est mal compris ?
 
tu créer les images  
avec un compteur ===> et une variable x
que tu utilise pour le nom "image".x.".gif"
 
x peut être dans un cookie ou une VarENV

Reply

Marsh Posté le 08-08-2001 à 15:48:16    

ben j'ai un petit mdule de sondage. qui cree une image pour chaque catégorie de vote, une barre de taille variable.  
pb: a chaque fois que je cree une image et que je la stock sur le disque, les images on le meme nom, qiel que soit le script. alors si 2 personnes utilisent en meme temps le script, ya des fois ou les images se "melangent" comme elles on toutes le meme noms, les scripts choississent la derniere crée... ce qui pose un probleme!
voila.


---------------
When in doubt.... reboot
Reply

Marsh Posté le 08-08-2001 à 15:50:41    

ex. lorsque qu'une personne A appelle le script: il cree 3 images:
im1.gif, im2.gif etc.
une personne B appelle alors le script.
on cree alors de simages disons 5 images:
im1.gif a im5.if
et le script du A va afficher les images du B *
 vala


---------------
When in doubt.... reboot
Reply

Marsh Posté le 08-08-2001 à 15:50:57    

moi, je garderais le même principe que te dis le compère, c'est à dire la boucle, à un chose près, avec un test d'éxistence de fichier. S'il existe un fichier du même nom, alors tu continues, jusqu'à trouver un nom qui n'y est pas...

Reply

Marsh Posté le 08-08-2001 à 15:52:30    

et avant de sauver ton image, avec php tu peux vérifier et lister les fichiers du répertoires image...aussi

Reply

Marsh Posté le 08-08-2001 à 15:57:35    

ben j'y ai pensé mais de toute facon je dois créé l'image, meme si une image "du meme nom " existe......


---------------
When in doubt.... reboot
Reply

Marsh Posté le 08-08-2001 à 15:57:35   

Reply

Marsh Posté le 08-08-2001 à 16:04:04    

huuuuuuuuuuuuuuummmmmmmmmmmmmmeinnnnn
 
et en fin de session t'as encore besoin de ces images ou elle peuvent être effacées
 
faudrait avoir un identifiant unique pour chaque utilisateur alors.
et l'utiliser pour composer le nom du fichier imagea du style
 
U125421578a1.gif
U125421578a2.gif
 
U425152385a1.gif
 
? non ?
 
tu peux utiliser la dateheuremiliseconde pour former le nom du fichier de chaque utilisateur (une par session)

Reply

Marsh Posté le 08-08-2001 à 16:10:35    

ca c'esrt de la bonne id!!! c'est quoi la fction pour l'avoir??
et une autre question: comment est ce qu'on efface un fichier??


---------------
When in doubt.... reboot
Reply

Marsh Posté le 08-08-2001 à 16:31:51    

apparemment tu crées et détruis des images assez souvent ... si tu utilises gd, tu peux créer les images dynamiquement et les envoyer directement au visiteur, sans avoir à les sauver sur le disque.
 
voir là, dans les user notes : http://www.php.net/manual/en/ref.image.php

Reply

Marsh Posté le 08-08-2001 à 16:45:14    

Pour effacer un fichier, c'est unlink($fichier);
Pour la date,heure, va voir la doc: www.nexen.net

Reply

Marsh Posté le 08-08-2001 à 17:00:37    

pour la date
 
$id = date("U" );//date unix

Reply

Marsh Posté le 08-08-2001 à 18:29:09    

merci a tous


---------------
When in doubt.... reboot
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed