PHP / Upload image : problème de titre
nik029
Messages postés
315
Statut
Membre
-
nik029 Messages postés 315 Statut Membre -
nik029 Messages postés 315 Statut Membre -
Bonjour,
J'ai un script PHP pour uploader une image qui fonctionne très bien ou presque. En effet, l'envoi de l'image (donc l'upload) fonctionne. Le seul problème, c'est que je n'arrive pas à donner un titre différent à chaque image uploader.
Voici mon script pour l'upload image :
Et voici le code dans ma page function.php :
Comment faire ?
Merci d'avance.
J'ai un script PHP pour uploader une image qui fonctionne très bien ou presque. En effet, l'envoi de l'image (donc l'upload) fonctionne. Le seul problème, c'est que je n'arrive pas à donner un titre différent à chaque image uploader.
Voici mon script pour l'upload image :
<?php
include("/require/function.php");
?>
<?php
if(isset($_POST['submit']))
{
$img=$_FILES['img']['name'];
$img_tmp=$_FILES['img']['tmp_name'];
$errors = array();
if(!empty($img_tmp))
{
$image=explode('.',$img);
$image_ext=end($image);
if(in_array(strtolower($image_ext),array('png','gif','jpeg','jpg')) === false)
{
$errors[] = "Veuillez saisir une image valide.";
}
}
if(empty($errors))
{
upload_img($img_tmp);
}else{
foreach($errors as $error)
{
echo $error;
}
}
}
?>
<form method="POST" action="" enctype="multipart/form-data">
<input type="file" name="img"/><br><br>
<input type="submit" value="Uploader" name="submit"/>
</form>
Et voici le code dans ma page function.php :
<?php
function upload_img($img_tmp)
{
if(file_exists($img_tmp))
{
$image_size=getimagesize($img_tmp);
if($image_size['mime'] == 'image/jpeg')
{
$image_src=imagecreatefromjpeg($img_tmp);
}else if($image_size['mime'] == 'image/png')
{
$image_src=imagecreatefrompng($img_tmp);
}else if($image_size['mime'] == 'image/gif')
{
$image_src=imagecreatefromgif($img_tmp);
}else{
echo"Votre image n'est pas valide";
$image_src=false;
}
if($image_src !== false)
{
$image_width = 600;
if($image_size[0] <= $image_width)
{
$image_finale=$image_src;
}else{
$new_width[0] = $image_width;
$new_height[1] = ($image_size[1]/$image_size[0])*$image_width;
$image_finale=imagecreatetruecolor($new_width[0], $new_height[1]);
imagecopyresampled($image_finale, $image_src,0,0,0,0,$new_width[0], $new_height[1],$image_size[0],$image_size[1]);
}
imagejpeg($image_finale,'img/.jpg');
}
}
}
?>
Comment faire ?
Merci d'avance.
A voir également:
- PHP / Upload image : problème de titre
- Upload video youtube - Télécharger - Diffusion
- Image iso - Guide
- Légender une image - Guide
- Reduire taille image - Guide
- Acronis true image - Télécharger - Sauvegarde
10 réponses
J'ai pas compris que'est ce que tu veux dire exactement,mais si tu parle de donner un nom différent aux images uploader en cas ou le nom de fichier source est le même tu peux essayer tout simplement de ronomer les fichier en utilisant la fonction rename ( string $oldname , string $newname [, resource $context ] ) pour le nom je te conseille de le crypté avec le md5 et faire une table d'indexation dans la base de données
Si t as rien a faire avec le nom d'origine alors y a pas de problème tu peux toujours essayer de renommer les fichiers uploader Sinon essaye de récupérer le nom d'origine $nomOrigine = $_FILES['monfichier']['name']; puis renommer le fichier avec ce nom
Cette fonction crée une image JPEG depuis l'image fournie
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] ) le deuxième paramètre est le nom d'image JPEG crée or toi t'as pas donné un nom a ton image crée !! imagejpeg($image_finale,'img/.jpg');
essaye de faire ça :
$nomOrigine = $_FILES['img']['name'];
imagejpeg($image_finale,'img/'.$nomOrigine .'.jpg');
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] ) le deuxième paramètre est le nom d'image JPEG crée or toi t'as pas donné un nom a ton image crée !! imagejpeg($image_finale,'img/.jpg');
essaye de faire ça :
$nomOrigine = $_FILES['img']['name'];
imagejpeg($image_finale,'img/'.$nomOrigine .'.jpg');
En faite, je veux donner un nom différent à chaque image uploader car en ce moment, quand j'upload une image, ils ont toujours des noms identiques une fois uploader (alors que ce sont des images différentes).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le nom d'une image uploader, c'est cette partie du code :
Mais je ne sais pas comment utiliser ce que tu viens de me donner...
imagejpeg($image_finale,'img/.jpg');
Mais je ne sais pas comment utiliser ce que tu viens de me donner...
Par contre, comment récupérer l'image pour l'afficher sur le site ?
J'ai mis ça mais sa ne marche pas trop :
J'ai mis ça mais sa ne marche pas trop :
<a href="localhost/Location/admin/img/<?php echo $photo["img"]; ?>" rel="lightbox" target="_blank" title="<?php echo $photo["title"]; ?>"><img src="localhost/Location/admin/img/<?php echo $photo["img"]; ?>" style="width:201px;" /></a></div>
Premièrement il est vraiment déconseiller de mélanger le code HTML avec le PHP tu dois travailler avec un modèle view-contrôleur (MVC) pour une meilleure visibilité de code et pour facilité la maintenance et la mise a jour de code. encore une chose le chemin de fichier ne doit dans aucun cas dépend de localhost sinon tu sera obligé de refaire tout une fois le site est hébergé.
le problème est tout simplement dans le chemin de ton image enlève le localhost
le problème est tout simplement dans le chemin de ton image enlève le localhost