Upload d'image

faceworld Messages postés 13 Statut Membre -  
faceworld Messages postés 13 Statut Membre -
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 90 Statut Membre 6
 
					if(in_array(strtolower($image_ext),array('png','gif','jpeg','jpg')) === false)


Pourquoi il y a 3 signes "égal" ?
0
Pitet Messages postés 2845 Statut Membre 527
 
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 2845 Statut Membre 527
 
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 Statut Membre
 
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