par
asgardlegrand » 03 mai 2019, 13:51
voila j'ai modifié voila ce que cela donne mais j'ai toujours un soucis, ca n'affiche pas l'image et j'aimerais poiuvoir afficher les images qui ont une extension que j'aurais definis jpg','gif','png','jpeg'
l image que je transmet arrive bien dans le fichier image avec le nom (id).extension.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/plainte_consultation.css">
<link rel="stylesheet" type="text/css" href="css/bouton.css">
</head>
<body>
<hr>
<?php
// On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
require 'menu.php';
// On récupère nos variables de session
if ($_SESSION['groupe'] == 2 XOR $_SESSION['groupe'] == 3 XOR $_SESSION['groupe'] == 4) {
?>
<form enctype="multipart/form-data" action="inser_formulaire_photo.php" method="post">
<fieldset>
<legend>Formulaire d 'envoi de photo</legend>
<p>
<input type="text" name="id" id="id" placeholder="numero du dossier" required>
<input type="file" name="fichier">
<input type="submit" value="envoyer">
</p>
</fieldset>
</form>
<H3><CENTER><a href="inscription_casier.php" class="bouton">Enregistrer un casier</a>
</CENTER></H3>
<center><h3>AFFICHAGE DES CASIERS EN COURS </h3></center>
<hr>
<table border=1>
<tr>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Numero de dossier</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">PHOTO</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Horodateur</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Nom</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Prenom</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">type d'infraction</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Afficher</font></th>
</tr>
</table>
<?php include 'database.php';
global $db;
$q = $db->query("SELECT * FROM `casier`WHERE statut != 'Archive'");
while ($plaintes = $q->fetch()) { ?>
<table border=1>
<tr>
<td> <?= $plaintes['id'] ?> </td>
<td><img src="/image/<?php echo $plaintes['id'].".png"; ?>"/></td>
<td> <?= $plaintes['daterec'] ?> </td>
<td> <?= $plaintes['nom'] ?> </td>
<td> <?= $plaintes['prenom'] ?> </td>
<td> <?= $plaintes['question'] ?> </td>
<td><a href="consulter_casier.php?id=<?=$plaintes['id']?>&type=afficher"class="bouton">Afficher</a></td>
</tr>
</table>
<?php }
}
else {
header("Location: menu.php");
}
?>
</body>
</html>
et mon fichier inser_formulaire_photo
<?php
require 'menu.php';
$id = $_POST['id'];
define('TARGET', 'image/');
define('MAX_SIZE', 200000);
define('WIDTH_MAX', 800);
define('HEIGHT_MAX', 800);
$tabExt = array('jpg','gif','png','jpeg');
$infosImg = array();
$extension = '';
$message = '';
$nomImage = '';
if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) {
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
}
}
if(!empty($_POST))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
//on redimentionne limage
$x = 75;
$y = 75; # Taille en pixel de l'image redimensionnée
if ($infosImg)
echo 'Image redimensionnée ...
';
if ($infosImg['mime']=='image/jpeg' ) {
$img_big = imagecreatefromjpeg($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]);
imagejpeg($img_mini,$_FILES['fichier']['tmp_name'] );
}
elseif ($infosImg['mime']=='image/png' ) {
$img_big = imagecreatefrompng($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]);
imagepng($img_mini,$_FILES['fichier']['tmp_name'] );
}
elseif ($infosImg['mime']=='image/gif' ) {
$img_big = imagecreatefromgif($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]);
imagegif($img_mini,$_FILES['fichier']['tmp_name'] );
}
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier']['error'])
&& UPLOAD_ERR_OK === $_FILES['fichier']['error'])
{
// On renomme le fichier
$nomImage = $id .'.'. $extension;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
{
$message = 'Upload réussi !';
}
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors de l\'upload !';
}
}
else
{
$message = 'Une erreur interne a empêché l\'uplaod de l\'image';
}
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message = 'Erreur dans les dimensions de l\'image !';
}
}
else
{
// Sinon erreur sur le type de l'image
$message = 'Le fichier à uploader n\'est pas une image !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'L\'extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez remplir le formulaire svp !';
}
?>
merci de votre aide
j'aimerais pouvoir inserer le lien de la photo dans la base de données directement via le formulaire d'insertion de l'image. ainsi plutot que d'aller chercher la photo dans le fichier image, elle sera recuperé via son url dans la base de donnée.
voila j'ai modifié voila ce que cela donne mais j'ai toujours un soucis, ca n'affiche pas l'image et j'aimerais poiuvoir afficher les images qui ont une extension que j'aurais definis jpg','gif','png','jpeg'
l image que je transmet arrive bien dans le fichier image avec le nom (id).extension.
[PHP]<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/plainte_consultation.css">
<link rel="stylesheet" type="text/css" href="css/bouton.css">
</head>
<body>
<hr>
<?php
// On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
require 'menu.php';
// On récupère nos variables de session
if ($_SESSION['groupe'] == 2 XOR $_SESSION['groupe'] == 3 XOR $_SESSION['groupe'] == 4) {
?>
<form enctype="multipart/form-data" action="inser_formulaire_photo.php" method="post">
<fieldset>
<legend>Formulaire d 'envoi de photo</legend>
<p>
<input type="text" name="id" id="id" placeholder="numero du dossier" required>
<input type="file" name="fichier">
<input type="submit" value="envoyer">
</p>
</fieldset>
</form>
<H3><CENTER><a href="inscription_casier.php" class="bouton">Enregistrer un casier</a>
</CENTER></H3>
<center><h3>AFFICHAGE DES CASIERS EN COURS </h3></center>
<hr>
<table border=1>
<tr>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Numero de dossier</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">PHOTO</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Horodateur</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Nom</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Prenom</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">type d'infraction</font></th>
<th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Afficher</font></th>
</tr>
</table>
<?php include 'database.php';
global $db;
$q = $db->query("SELECT * FROM `casier`WHERE statut != 'Archive'");
while ($plaintes = $q->fetch()) { ?>
<table border=1>
<tr>
<td> <?= $plaintes['id'] ?> </td>
<td><img src="/image/<?php echo $plaintes['id'].".png"; ?>"/></td>
<td> <?= $plaintes['daterec'] ?> </td>
<td> <?= $plaintes['nom'] ?> </td>
<td> <?= $plaintes['prenom'] ?> </td>
<td> <?= $plaintes['question'] ?> </td>
<td><a href="consulter_casier.php?id=<?=$plaintes['id']?>&type=afficher"class="bouton">Afficher</a></td>
</tr>
</table>
<?php }
}
else {
header("Location: menu.php");
}
?>
</body>
</html>
[/PHP]
et mon fichier inser_formulaire_photo
[PHP]<?php
require 'menu.php';
$id = $_POST['id'];
define('TARGET', 'image/');
define('MAX_SIZE', 200000);
define('WIDTH_MAX', 800);
define('HEIGHT_MAX', 800);
$tabExt = array('jpg','gif','png','jpeg');
$infosImg = array();
$extension = '';
$message = '';
$nomImage = '';
if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) {
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
}
}
if(!empty($_POST))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
//on redimentionne limage
$x = 75;
$y = 75; # Taille en pixel de l'image redimensionnée
if ($infosImg)
echo 'Image redimensionnée ...
';
if ($infosImg['mime']=='image/jpeg' ) {
$img_big = imagecreatefromjpeg($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]);
imagejpeg($img_mini,$_FILES['fichier']['tmp_name'] );
}
elseif ($infosImg['mime']=='image/png' ) {
$img_big = imagecreatefrompng($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]);
imagepng($img_mini,$_FILES['fichier']['tmp_name'] );
}
elseif ($infosImg['mime']=='image/gif' ) {
$img_big = imagecreatefromgif($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]);
imagegif($img_mini,$_FILES['fichier']['tmp_name'] );
}
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier']['error'])
&& UPLOAD_ERR_OK === $_FILES['fichier']['error'])
{
// On renomme le fichier
$nomImage = $id .'.'. $extension;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
{
$message = 'Upload réussi !';
}
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors de l\'upload !';
}
}
else
{
$message = 'Une erreur interne a empêché l\'uplaod de l\'image';
}
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message = 'Erreur dans les dimensions de l\'image !';
}
}
else
{
// Sinon erreur sur le type de l'image
$message = 'Le fichier à uploader n\'est pas une image !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'L\'extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez remplir le formulaire svp !';
}
?>[/PHP]
merci de votre aide
j'aimerais pouvoir inserer le lien de la photo dans la base de données directement via le formulaire d'insertion de l'image. ainsi plutot que d'aller chercher la photo dans le fichier image, elle sera recuperé via son url dans la base de donnée.