Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 22/12/2010, 12h16   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
Par défaut remplacer une image par une autre image

voila j'upload une image correspondant a un article dont id est 1
au passage je renomme du l'image de l'id de l'article soit 1
elle s'appellera donc 1.jpg si l'image de base était un jpg
mais si je veux changer cette image et ce coup ci je mets un png,
une nouvelle image appeler 1.png va être crée

comment faire pour que la première image soit écrasée ou effacée

comment ça se passe en général dans ce genre de cas?

merci
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 12h21   #2
Membre habitué
 
Avatar de Vicrabb
 
Femme Vinciane
Développeur Web
Inscription : novembre 2010
Messages : 66
Détails du profil
Informations personnelles :
Nom : Femme Vinciane
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2010
Messages : 66
Points : 100
Points : 100
Pour l'effacement: unlink()

Tu peux donc effacer l'ancienne image et ensuite mettre la nouvelle dans le dossier.
__________________

Symfony par une débutante - Elgg - PHP

Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom..
"The cake is lie" - Doug Rattman, Portal
Vicrabb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 12h24   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
c'est en général ce qui se fait dans les sites
ou ce que tu fais sur tes sites
ou y a t'il d'autre technique?
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 12h29   #4
Membre habitué
 
Avatar de Vicrabb
 
Femme Vinciane
Développeur Web
Inscription : novembre 2010
Messages : 66
Détails du profil
Informations personnelles :
Nom : Femme Vinciane
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2010
Messages : 66
Points : 100
Points : 100
J'utilise unlink() et je suppose que c'est ce qui se fait le plus souvent.
__________________

Symfony par une débutante - Elgg - PHP

Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom..
"The cake is lie" - Doug Rattman, Portal
Vicrabb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/12/2010, 12h43   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
donc je dois aller voir si une image 1.jpg ou 1.png existe dans mon dossier images
puis récupérer son extention, ($extention)
Code php :
unlink('../images/1.'.$extention);
c'est bien ça ou il y a plus simple

merci
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 12h46   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Si tu veux une gestion plus sérieuse, utilise une base de données.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 22/12/2010, 12h52   #7
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
genre j'enregistre le nom et l'extention de mon image dans une table dédiée aux images
et ensuite je lie cette image a mon article?
ok je verrais ça plus tard mais pour aujourd'hui je vais restée sur la première solution plus facile a mettre en place
merci je vais quand même m'y pencher

mais je pense que dans mon cas j'ai juste a renommer une image pour un article
l'enregistrer directement dans un fichier suffit
et m'évite ainsi des requêtes

sinon j'en reviens a ma question au dessus :

"donc je dois aller voir si une image 1.jpg ou 1.png existe dans mon dossier images
puis récupérer son extention, ($extention)
Code php :
unlink('../images/1.'.$extention);
c'est bien ça ou il y a plus simple"

merci
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 13h21   #8
Membre habitué
 
Avatar de Vicrabb
 
Femme Vinciane
Développeur Web
Inscription : novembre 2010
Messages : 66
Détails du profil
Informations personnelles :
Nom : Femme Vinciane
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2010
Messages : 66
Points : 100
Points : 100
Si tu n'as qu'un article oui, ca pourrait marcher, sinon, si tu as plusieurs articles:
- tu dois récupérer l'id de ton article
- renommer l'image que tu envoies en idarticle en conservant son extension (puisque c'est cela que tu veux faire)
- chercher l'image qui correspond dans ton dossier
- vérifier les extensions
- si l'image a la même extension, pas besoin d'un unlink()
- si l'image a une extension différente de celle que tu envoies, alors, oui, tu peux utiliser l'unlink() pour l'image qui doit disparaître
- enfin, tu mets la nouvelle dans le dossier

En gros, c'est la marche que je suivrais. Bien entendu, adapte-la à tes besoins.
__________________

Symfony par une débutante - Elgg - PHP

Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom..
"The cake is lie" - Doug Rattman, Portal
Vicrabb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/12/2010, 13h53   #9
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
bon la j'en suis au moment ou je fais un preg_match()
pour vérifier qu'il existe bien une image commençant par 1
problème je ne sais pas en suite comment récupérer l'extension de l'image commençant pas 1
merci
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 14h24   #10
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
Voila je vérifie si dans $dossier une image commencant par 1 existe
puis, je voudrais récupérer l'extention de cette image, c'est la que je suis coincé (je pensais a un pathinfo () ???)
pour pouvoir ensuite la supprimer avec unlink()

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$dossier = '../images/uploads-atelier/normal;
$open=opendir($dossier);
 
while (($search = readdir($open)) !== false)
{
	if(preg_match("#^1#",$search))	//analyse $search pour trouver l'expression qui correspond à ce qui est avant la virgule
	{
		 $infosfichier2  = pathinfo('$dossier .'/'. $search .'/); //pour récupérer l'extention du fichier
		 $extension = $infosfichier2['extension'];
		 unlink('$dossier .'/'. $search .'/1.'$extention);
	}
}
closedir($open);
?>
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 15h00   #11
Membre habitué
 
Avatar de Vicrabb
 
Femme Vinciane
Développeur Web
Inscription : novembre 2010
Messages : 66
Détails du profil
Informations personnelles :
Nom : Femme Vinciane
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2010
Messages : 66
Points : 100
Points : 100
Si je peux me permettre de corriger une erreur, tu as oublié de fermer par un ' ta variable dossier:

Code :
$dossier = '../images/uploads-atelier/normal';
pathinfo() me semble adapté. Mais étant donné que je ne manie pas souvent cette fonction, il vaut mieux que quelqu'un plus expérimenté te réponde.
__________________

Symfony par une débutante - Elgg - PHP

Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom..
"The cake is lie" - Doug Rattman, Portal
Vicrabb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h42.


 
 
 
 
Partenaires

Hébergement Web