Php et l'organisation de taille des photos

Résolu/Fermé
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - Modifié par flo39400 le 30/06/2016 à 12:56
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 30 juin 2016 à 15:11
Bonjour,

L'idée serai que pendant l'envoie je puisse sélectionner le type d'image si sais en format paysage ou portrait.

Et qui sois compatible avec mon "while" pour afficher les images.



envoie.php
<?php
//Demarrage des sessions
session_start();

//connexion à la BDD (on inclus le fichier)
require_once "cnxBDD.php";

if(isset($_SESSION['id']))
 {
  if($_SESSION['statut'] == "3")
  {
   

   //Récupération 'propre' des varialbes
   $legende = isset($_POST['legende']) ? $_POST['legende'] : '';
   $s_msg = !empty($_SESSION['message']) ? $_SESSION['message'] : '';
   $files = !empty($_FILES['fichier']) ? $_FILES['fichier'] : NULL;

   //traitement du formulaire
   if(isset($_POST['envoie'])) {

   $tmpName = $files['tmp_name'];
   $fileName = $files['name'];
 
   if(!move_uploaded_file($tmpName, 'upload/'.$fileName)){
   echo "<br>Move error ! " . $tmpName . "-->".'upload/'.$fileName;
   }else{
   $info = $fileName. " Importé avec avec succès";
   }
   echo '<br /><font color="blue">'.$info."</font><br />";
 
    $sql = "INSERT INTO photo(adresse, text) VALUES(:adresse, :text)";
    $datas = array(':adresse'=>$fileName ,':text'=> $legende);
   try{
    $insertmbr = $bdd->prepare($sql);
    $insertmbr->execute($datas);
    }catch(Exception $e){
    echo "Erreur ! ".$e->getMessage();
    }
    $info = "La photo et le commentaire a était inscrit au serveur ! <a href=\"/sites/site7.php\">Aller voir !<a/>";
 
    }else{
    $erreur = "La photo et le commentaire n'ont pas était envoyer !";
    }
 
?>

   <html>
   <head>
   <title>TUTO PHP</title>
   <meta charset="utf-8">
   <link href="style.css" type="text/css" rel="stylesheet" media="screen" />
   </head>
   <body>
   <br /> <br />
   <div align="center">
   <form action="envoie.php" method="post" enctype="multipart/form-data">
   <table>
    <tr>
     <td>
      <p>La taille maximum de la photo doit être de 20 MO !</p>
     </td>
    </tr>
    <br />
    <tr>
     <td>
      <label for="fichier">Votre photo :</label>
      
     </td>
     <br />
     <td>
      <input type="file" name="fichier" id="fichier" /><br />
     </td>
    </tr>
    <br />
    <br />
    <br />
    <tr>
     <td>
      <label for="legende">Commentaire sous la photo :</label><br /><br />
     </td>
     <td>
      <textarea name="legende" id="legende" rows="10" cols="40">Saisir un texte ici.</textarea>
     </td>
    </tr>
    <tr>
     <td>
      <input type="submit" name="envoie" value="Envoyer le fichier" />
     </td>
    </tr>
   </table>
   </form>
   <br />
   <br />
   <br />
   <div align="center">
    <form method="POST" action="index.php?id=<?php echo $_SESSION['id']; ?>">
    <input type="submit" value="Retour" />
    </form>
   </div>
   </div>
   </body>
   </html>
<?php
  }
 }
 else{
?>
<p><font color="red">Vous n'êtes pas administrateur !</font></p>
<?php
 }
?>





Une partie du code de ma page qui serre a afficher les photos et le texte associer.

<div id="centre_page">
   <!-- Ceci sont les photos -->
    <table>
     <form method="POST" action="" enctype="multipart/form-data">
      <tr>
      <td align="center">
      
      <?php
       $reponse = $bdd->query('SELECT * FROM photo LIMIT 1,5');

 
       // On affiche chaque entrée une à une

       while ($donnees = $reponse->fetch())

      {
   
      ?>
       <p><img src="upload/<?php echo $donnees['adresse']; ?>" height="800" width="700 alt="" title="" /></p>
       <br />
       <p class="presentation"><?php echo $donnees['text']; ?></p>
      <?php   
      }
      ?>
     </form>
    </table>
   
   </div>




Merci d'avance de votre aide.

1 réponse

flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
30 juin 2016 à 15:11
Donc j'ai trouvé comment faire voila la solution:

envoie.php
<?php
//Demarrage des sessions
session_start();

//connexion à la BDD (on inclus le fichier)
require_once "cnxBDD.php";

if(isset($_SESSION['id']))
	{
		if($_SESSION['statut'] == "3")
		{
			

			//Récupération 'propre' des varialbes
			$legende = isset($_POST['legende']) ? $_POST['legende'] : '';
			$s_msg = !empty($_SESSION['message']) ? $_SESSION['message'] : '';
			$files = !empty($_FILES['fichier']) ? $_FILES['fichier'] : NULL;
			$format = isset($_POST['format']) ? $_POST['format'] : '';
			

			//traitement du formulaire
			if(isset($_POST['envoie'])) {

			$tmpName = $files['tmp_name'];
			$fileName = $files['name'];
 
			if(!move_uploaded_file($tmpName, 'upload/'.$fileName)){
			echo "<br>Move error ! " . $tmpName . "-->".'upload/'.$fileName;
			}else{
			$info = $fileName. " Importé avec avec succès";
			}
			echo '<br /><font color="blue">'.$info."</font><br />";
 
				$sql = "INSERT INTO photo(adresse, text, format) VALUES(:adresse, :text, :format)";
				$datas = array(':adresse'=>$fileName ,':text'=> $legende, ':format'=> $format);
			try{
				$insertmbr = $bdd->prepare($sql);
				$insertmbr->execute($datas);
				}catch(Exception $e){
				echo "Erreur ! ".$e->getMessage();
				}
				
 
				}else{
				$erreur = "La photo et le commentaire n'ont pas était envoyer !";
				}
	
?>

			<html>
			<head>
			<title>TUTO PHP</title>
			<meta charset="utf-8">
			<link href="style.css" type="text/css" rel="stylesheet" media="screen" />
			</head>
			<body>
			<br /> <br />
			
			<form action="envoie.php" method="post" enctype="multipart/form-data">
			<div class="envoiephoto">
			<table>
				<tr>
					<td>
						<p>La taille maximum de la photo doit être de 20 MO !</p>
					</td>
				</tr>
				<tr><td></td></tr>
				<tr>
					<td>
						<label for="fichier">Votre photo :</label>
						<input type="file" name="fichier" id="fichier" /><br />
					</td>
				</tr>
			</table>
			</div>
			<div class="formatphoto">
			<table>
				<tr>
					<td>
						<p>Format de la photo :</p>
					</td>
				</tr>
				<tr>
						<td>
							<label for="portrait">Portrait :</label>
							<input type="radio" name="format" id="portrait" value="height='800' width='700'" />
							<label for="paysage">Paysage :</label>
							<input type="radio" name="format" id="paysage" value="height='550' width='700'" />
						</td>
					</tr>
			</table>
			</div>
			<div class="legende">
			<table>
				<tr>
					<td>
						<label for="legende">Commentaire sous la photo :</label><br /><br />
					</td>
				</tr>
					
				<tr>		
					<td>
						<textarea name="legende" id="legende" rows="10" cols="40">Saisir un texte ici.</textarea>
					</td>
				</tr>
				<tr>
					<td>
						<input type="submit" name="envoie" value="Envoyer le fichier" />
					</td>
				</tr>
			</table>
			</form>
			</div>
			<br />
			<br />
			<br />
			<div class="retour">
			<table>
				<tr>
					<td>
						<form method="POST" action="index.php?id=<?php echo $_SESSION['id']; ?>">
						<input type="submit" value="Retour" />
						</form>
					</td>
				</tr>
				
			</table>
			</div>
			
			</body>
			</html>
<?php
		}
	}
	else{
?>
<p><font color="red">Vous n'êtes pas administrateur !</font></p>
<?php
	}
?>





La partie du code qui sert a afficher les images:


<div id="centre_page">
			<!-- Ceci sont les photos -->
				<table>
					<form method="POST" action="" enctype="multipart/form-data">
						<tr>
						<td align="center">
						
						<?php
							$reponse = $bdd->query('SELECT * FROM photo LIMIT 0,5');

	
							// On affiche chaque entrée une à une

							while ($donnees = $reponse->fetch())

						{
   
						?>
							<p><img src="upload/<?php echo $donnees['adresse']; ?>" <?php echo $donnees['format']; ?> /></p>
							<br />
							<p class="presentation"><?php echo $donnees['text']; ?></p>
							
						<?php   
						}
						?>
					</form>
					
				</table>
			
			</div>




Voila qui est résolue grâce au travail.
0