Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/03/2006, 13h28   #1
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Par défaut [Image]Déplacer/enregistrer une image crée par PHP ?

Bonjour à tous,

Je viens de créer un petit générateur de bannière selon des paramètres entrés dans un form par l'utilisateur.
La bannière se génère dynamiquement avec les fonctions d'images PHP et la bannière crée s'affiche. Le source montre
Code :
1
2
 
<img src="cree_ban.php?img="image.png"&couleur="#000000"&texte="ma banniere">
Ce que je voudrais, c'est que, si l'user est content de sa bannière, il puisse cliquer un bouton et l'enregistrer dans son dossier perso sur MON serveur. Est ce possible ? sachant que les champs type file ne peuvent prendre de value, j'ai essayé copy(), sans succès...
Merci de vos lumières !
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 13h38   #2
Membre actif
 
Avatar de AurelBUD
 
Inscription : mai 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2004
Messages : 202
Points : 175
Points : 175
Oui c est possible.
La solution que j'utilise :
A la creation de mon image je la stocke dans un dossier temporaire.
J'affiche donc cette image.
Et si l'utilisateur est ok je copie cette image du dossier temporaire vers le dossier de l'utilisateur.

A la fin du script, je vide le dossier temporaire.
AurelBUD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 13h43   #3
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Merci d'avoir répondu !
Quelle fonction utilises-tu pour déplacer ton image vers un dossier temp sans champ file ???
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 13h51   #4
Membre actif
 
Avatar de AurelBUD
 
Inscription : mai 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2004
Messages : 202
Points : 175
Points : 175
2 solutions :
- soit la fonction rename qui permet de deplacer un fichier
Code :
rename("/tmp/tmp_file.txt", "/home/user/login/docs/mon_file.txt");
- soit la fonction copy qui le copie sans l'effacer :
Code :
copy("/tmp/tmp_file.txt", "/home/user/login/docs/mon_file.txt");
AurelBUD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 14h01   #5
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Je viens de tester et je ne parviens pas à faire fonctionner ni rename, ni copy...peut être un prob de chemin...mais cela m'étonnerait que ça marche car mon image est générée dynamiquement par un script avec imagecreatefrompng...elle n'existe donc pas vraiment, tu vois...
Par contre, lorsque elle s'affiche, je peux l'enregistrer sous, et elle s'appelle affiche_ban.png...

peut être une fonction javascript qui ferait la même tache que "enregistrer image sous" ?...

Dur dur...
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 14h07   #6
Membre actif
 
Avatar de AurelBUD
 
Inscription : mai 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2004
Messages : 202
Points : 175
Points : 175
Moi je pencherai pour une question de droits d utilisateurs ... Regarde bien si tu as autorisé à apache l'écriture dans le repertoire utilisateur ...

Ton serveur est sous linux/unix ou sous windows ???
AurelBUD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 14h14   #7
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
pour le moment je tente de faire fonctionner ça avec EasyPhp en local, où toutes le fonctions de manipulations de fichiers n'ont aucun problème.
Mon serveur est linux.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 14h22   #8
Membre actif
 
Avatar de AurelBUD
 
Inscription : mai 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2004
Messages : 202
Points : 175
Points : 175
Et qu est ce qu'il te donne comme erreurs en local ???
AurelBUD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 14h29   #9
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
un warning du type "no such file or directory..."
je cherche maintenant une soluce du côté de la fonction createfrompng car j'ai vu que lorsque l'image se génère, on pouvait la sauvegarder en apellant 2 fois la fonction:
Code :
1
2
3
4
 
imagepng ( $png ) ; // affiche l'image (c'est OK)
$dossier="perso/1/pages_web/"; $nom = "banniere.png";
imagepng($src,$dossier.$nom); // doit l'enregistrer...pas OK !
Tu connais un peu ces fonctions ?
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 14h34   #10
Membre actif
 
Avatar de AurelBUD
 
Inscription : mai 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2004
Messages : 202
Points : 175
Points : 175
je pense que c est ton dossier qui n'est pas ok -> utilise un chemin absolu plutot que relatif !!!

C est à dire :
- sous windows : $dossier = "c:\\program files\\easyphp\\www\\perso\\1\\pages_web\\";
- sous linux : $dossier = "/var/www/perso/1/pages_web/";

Par exemple.
AurelBUD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 15h00   #11
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Bingo !!!
Merci beaucoup pour ton aide précieuse, et peut être à charge de revanche...
Bonne journée
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h16.


 
 
 
 
Partenaires

Hébergement Web