Upload d'image

Fermé
faceworld Messages postés 13 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 21 septembre 2013 - 5 sept. 2013 à 21:03
faceworld Messages postés 13 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 21 septembre 2013 - 6 sept. 2013 à 17:29
Bonsoir a tous j'ai un petit problème avec mon script php c'est pas un problème mais juste comment faire voila j'ai deux page galerie et function

ma page galerie :

<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
//include('function.php');

$pseudo = $_SESSION['pseudo'];
	if(isset($_POST['submit']))
	{
		$photo = $_FILES['photo']['name'];
		$photo_tmp = $_FILES['photo']['tmp_name'];
		$errors = array();
		$lien_complet = $photo.$photo_tmp;
		
		if(!empty($photo_tmp))
			{
				$image = explode('.',$photo);
				
				$image_ext = end($image);
				
					if(in_array(strtolower($image_ext),array('png','gif','jpeg','jpg')) === false)
						{
							$errors[] = "Veuillez saisir une image";
						}
			}
				if(empty($errors))
				{
					upload_avatar($photo_tmp);
					
					mysql_query("INSERT INTO galeries (id,pseudo,photo) VALUES ('','$pseudo','$lien_complet')") or die ('galerie uploaded');
				}
				else{
				    foreach($errors as $error)
					 {
					 echo $error;
					} 
					
					}
				}
	

?>

	<p><img src=<?php echo 'membres/'.$pseudo.'/galeries/'.$pseudo.'.jpg'?> alt="image"/></p>
	<form method="POST" action="" enctype="multipart/form-data">
	
	<input type="file" name="photo" /><br/><br/>
	<input type="submit" value="uploader" name="submit" />
	
						<?php
					
include('body/footer.php');
?>

et ma page function

<?php



function upload_avatar($photo_tmp)
{
	if(file_exists($photo_tmp))
		{
			$image_size = getimagesize($photo_tmp);
			
			if($image_size['mime'] = 'image/jpeg')
				{
					$image_src = imagecreatefromjpeg($photo_tmp);
				}else if($image_size['mime'] == 'image/png')
					{
						$image_src = imagecreatefrompng($photo_tmp);
					}elseif($image_size['mime'] == 'image/gif')
						{
						$image_src = imagecreatefromgif($photo_tmp);
						}else {
						echo "Votre image n'est pas valide";
						$image_src = false;
						
						}
							
							if($image_src !== false)
								{
								  $image_width = 300;
								  
									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]);
									  }
									  $pseudo = $_SESSION['pseudo'];
									  imagejpeg($image_finale,'membres/'.$pseudo.'/galeries/'.$pseudo.'.jpg');
								}
				
		}
}

?>

dans la page header c'est la ou ma variable session et declaré enfin se que je veux faire c'est que :

De pouvoir afficher et upload des photos car avec mon code chaque photo pose l'ancienne et remplacé car le nom de l'image c'est son pseudo la variable $pseduo je sais pas comment mettre des nom ou des chiffre aléatoire
Ma base de donné ne reçoit pas correctement les information pour la case photo car ma variable $lien_complet = $photo.$photo_tmp; la variable $photo = le nom de l'image et $photo_tmp = l'emplacement temporaire pas dans le dossier du membre en question
Voila depuis quelque heur je suis bloqué avec sa s'il vous plait aidé moi et merci beaucoup



Cordialement



foufou



P.S: Si vous avez besoin d'autre information suis connecté :)
A voir également:

2 réponses

MichaelOfCourse Messages postés 87 Date d'inscription jeudi 21 juin 2012 Statut Membre Dernière intervention 2 septembre 2016 6
6 sept. 2013 à 11:40
					if(in_array(strtolower($image_ext),array('png','gif','jpeg','jpg')) === false)


Pourquoi il y a 3 signes "égal" ?
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 6/09/2013 à 15:19
Pour comparer le type en plus de la valeur (même si il n'est pas nécessaire pour ce cas, la condition est correcte) :
https://www.php.net/manual/fr/language.operators.comparison.php
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
6 sept. 2013 à 15:24
Salut,

Si tu veux donner un nom unique à chacune de tes photos, une solution est d'utiliser la date et l'heure actuelle, par exemple :

$nomPhoto = $pseudo . '_' . date("d-m-Y_H-i-s") . '.jpg';

Puisqu'un utilisateur ne peux pas envoyer deux photos au même instant, tu auras donc des nom uniques pour chacune d'elle.

Bonne journée
0
faceworld Messages postés 13 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 21 septembre 2013
6 sept. 2013 à 17:29
Bonjour j ai changé mon code en ça et mon erreur c sa

( ! ) Notice: Undefined variable: photo in C:\wamp\www\pages\galerie.php on line 44
Call Stack
mais j'ai defini ma variable photo se que je veux faire c'est afficher toutes les photos qui se trouve dans le dossier du membres mais sa marche pas voila mon code
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
//include('function.php');

$pseudo = $_SESSION['pseudo'];
if(isset($_POST['submit']))
{
$photo = $_FILES['photo']['name'];
$photo_tmp = $_FILES['photo']['tmp_name'];
$errors = array();
$emplacement = 'membres/'.$pseudo.'/galeries/'.$photo;
$lien_complet = $emplacement;

if(!empty($photo_tmp))
{
$image = explode('.',$photo);

$image_ext = end($image);

if(in_array(strtolower($image_ext),array('png','gif','jpeg','jpg')) === false)
{
$errors[] = "Veuillez saisir une image";
}
}
if(empty($errors))
{
upload_avatar($photo_tmp);
mysql_query("INSERT INTO galeries (id,pseudo,nom,photo) VALUES ('','$pseudo','$photo','$lien_complet')") or die ('galerie uploaded');
}
else{
foreach($errors as $error)
{
echo $error;
}

}
}


?>

<p><img src=<?php echo 'membres/'.$pseudo.'/galeries/'.$photo?> alt="image"/></p>
<form method="POST" action="" enctype="multipart/form-data">

<input type="file" name="photo" /><br/><br/>
<input type="submit" value="uploader" name="submit" />

<?php

include('body/footer.php');
?>
et pour la function

<?php
function upload_avatar($photo_tmp)
{
if(file_exists($photo_tmp))
{
$image_size = getimagesize($photo_tmp);

if($image_size['mime'] = 'image/jpeg')
{
$image_src = imagecreatefromjpeg($photo_tmp);
}else if($image_size['mime'] == 'image/png')
{
$image_src = imagecreatefrompng($photo_tmp);
}elseif($image_size['mime'] == 'image/gif')
{
$image_src = imagecreatefromgif($photo_tmp);
}else {
echo "Votre image n'est pas valide";
$image_src = false;

}

if($image_src !== false)
{
$image_width = 300;

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]);
}
$pseudo = $_SESSION['pseudo'];
$photo = $_FILES['photo']['name'];
$emplacement = imagejpeg($image_finale,'membres/'.$pseudo.'/galeries/'.$photo);
}

}
}

?>
Voila j'att vos reponse avec impatience merci a vous bonne journée
0