Page 1 sur 1

Upload renommer les fichiers - Mysql

Posté : 11 juil. 2012, 22:08
par leo45vl
Bonjour,

J'ai un script d'upload que j'ai fais. Il marche super bien :D mais quand l'image existe déja (logo.png) j'aimerai que sa se renome en logo2.png ou en logo20120710.png (date) j'ai chercher beaucoup de tuto et de script mais je ne sais pas trop comment intégrer...

Voici le script:
extract ($_POST);
$attribut = implode(', ',$case);
$dossier = '../upload/'; 
$fichier = basename($_FILES['image']['name']);
$fichier2 = basename($_FILES['petite_image']['name']['date']);
$size = getimagesize($_FILES['petite_image']['tmp_name']);
$width = $size[0];
$height = $size[1];

if(!empty($_FILES['image']) AND substr($fichier,-3) == "png" OR substr($fichier,-3) == "gif" OR substr($fichier,-3) == "jpg")
{
move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier);
}
else
{
	$_SESSION['error_height'] = 1;
}

if(!empty($_FILES['petite_image']) AND $width == 600 AND $height == 100 AND substr($fichier2,-3) == "png" OR substr($fichier2,-3) == "gif" OR substr($fichier2,-3) == "jpg" )
{
move_uploaded_file($_FILES['petite_image']['tmp_name'], $dossier . $fichier2);
}
else 
{
	$_SESSION['error_image'] = 1;
}
J'ai aussi sa qui me sert pour ma bdd
$image = $_FILES['image']['name'];
				$petite_image = $_FILES['petite_image']['name'];

Merci beaucoup,
Leo45vl

Re: Upload renommer les fichiers - Mysql

Posté : 12 juil. 2012, 09:06
par xTG
Tu peux tester l'existence d'un fichier avec file_exists().
Ton fichier uploadé porte le nom de $fichier.
Donc tu peux utiliser substr() pour supprimer l'extension, rajouter une chaîne de caractère et remettre l'extension avant le move_uploaded_file() ;)

Re: Upload renommer les fichiers - Mysql

Posté : 12 juil. 2012, 17:38
par leo45vl
Ok merci je vais tester sa!

Re: Upload renommer les fichiers - Mysql

Posté : 12 juil. 2012, 18:24
par leo45vl
Salut,
J'ai fais se que je croix qui peux marcher.
Biensur sa marche pas :(

Voici mon idéé:
$filename = "../upload/'.$fichier.'";

if (file_exists($filename)) {
($_FILES['name']) = name +1;

}    
Non mais sérieusement, je sais quoi faire mais pas comment l'intégrer je ferai le nom de fichier avec un +1 ex: fichier logo.png existe il devient logo1.png.
Comment on fait sa??


Merci beaucoup,

Re: Upload renommer les fichiers - Mysql

Posté : 12 juil. 2012, 18:33
par xTG
Attention aux quotes dans ta déclaration de variable. ;)

Ensuite comme je te l'ai dit il faut utiliser la fonction substr() pour supprimer l'extension du fichier.
Grâce à cela tu n'as plus que le nom (sans l'extension) et tu peux y coller ce que tu veux (date, chiffre, ect).
Ensuite il te suffit d'y recoller l'extension.

Re: Upload renommer les fichiers - Mysql

Posté : 12 juil. 2012, 20:27
par AB
Bonjour,
... mais quand l'image existe déja (logo.png) j'aimerai que sa se renome en logo2.png ou en logo20120710.png (date) j'ai chercher beaucoup de tuto et de script mais je ne sais pas trop comment intégrer...
Il y a un tuto spécialement sur ce sujet ici De plus la classe en lien dans le tuto permet de faire des redimensionnements...