Upload et redimensionnement

Signaler
Messages postés
3
Date d'inscription
samedi 12 février 2011
Statut
Membre
Dernière intervention
11 mars 2013
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
Bonjour,

Avant de poster ma question, j'ai bien regarder dans les autres sujets, mais je n'arrive pas à postposer les réponses à moi, d'autant plus que je suis novice en la matière !
J'ai mis en place un upload photo, et j'aimerais pouvoir intégrer un redimensionnement à cet upload.
Pourriez-vous m'aider s'il vous plait ?

Merci d'avance!

Kriss

Je vous envoie mes deux pages :

upload

<?php
//initialize the session
if (!isset($_SESSION)) {
session_start();
}

// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
$_SESSION['PrevUrl'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
unset($_SESSION['PrevUrl']);

$logoutGoTo = "../index.html";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>
<?php
if (isset($_GET['nomphoto']))
{
$nomphoto=$_GET['nomphoto'];
}
else
{
$nomphoto="";
}

if (isset($_GET['prod']))
{
$prod=$_GET['prod'];
}
else
{
$prod=0;
}
?>
<style type="text/css">
<!--
td {
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
}
#btn {
margin-top: 70px;
}
-->
</style>

<link href="deconnexion.css" rel="stylesheet" type="text/css" />



Veuillez uploader la photo : <?php echo $nomphoto ?>,

----

<form method="post" enctype="multipart/form-data" action="finalupload.php?nomphoto=<?php echo $nomphoto ?>&prod=<?php echo $prod ?>">

</form>


[<?php echo $logoutAction ?> Deconnexion]




finalupload

<?php
include('connection.php');

if (isset($_POST['upload']))
{
if ($_GET['nomphoto'] =="")
{
$nomphoto=$_FILES['fichier']['name'];
$content_dir='images/';

}
else
{
$nomphoto=$_GET['nomphoto'];
$content_dir='img/';
}
//echo $nomphoto;

$tmp_file=$_FILES['fichier'] ['tmp_name'];
if(!is_uploaded_file($tmp_file))
{
exit("le fichier est introuvable");
}
$type_file=$_FILES['fichier'] ['type'];
if (!strstr($type_file,'jpg') && !strstr($type_file,'jpeg') && !strstr($type_file,'bmp') && !strstr($type_file,'gif'))
{
exit("le fichier n'est pas une image");
}
$name_file=$_FILES['fichier'] ['name'];
if (!move_uploaded_file($tmp_file,$content_dir . $nomphoto))
{
exit("impossible de copier le fichier dans : $tmp_file");
}

if ($_GET['prod']<>0)
{
$idprod=$_GET['prod'];
$requete="UPDATE tbeausejour SET photos='" . $content_dir . $nomphoto . "' WHERE id=" . $idprod ;
$requete2="UPDATE antebeausejour SET photos='" . $content_dir . $nomphoto . "' WHERE id=" . $idprod ;
//echo $requete;
$execute=mysql_query($requete);
$execute=mysql_query($requete2);
}
echo "

";


echo "Votre image est maintenant uploadée

";


echo " Retour a la liste des biens

";
}


?>

2 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour

La solution est d'utiliser une class pour redimensionner. Tu utilises des exit c'est un peu brutal mais bon le sujet n'est pas là ...
Donc tu charges une class, il y en a des centaines sur le web que tu pourras étudier aprés . Deux lignes de code en plus ... j'ai pris une class assez simple d'approche

Exemple :

N'oublie pas de charger la class et la mettre dans le répertoire de travail ? LE LIEN ET DANS LE CODE ET DE PASSER A PDO : PHP Data Objects
les fonctions mysql_ sont obsolétes


form.php


<!--
Bonjour, 
Avant de poster ma question, j'ai bien regarder dans les autres sujets, mais je n'arrive pas
à postposer les réponses à moi, d'autant plus que je suis novice en la matière ! 
J'ai mis en place un upload photo, et j'aimerais pouvoir intégrer
un redimensionnement à cet upload. 
Pourriez-vous m'aider s'il vous plait ? 
Merci d'avance! 
Kriss 
Je vous envoie mes deux pages : 
upload 
-->

<?php 
//initialize the session 
if (!isset($_SESSION)) { 
session_start(); 
} 

// ** Logout the current user. ** 
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; 
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ 
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); 
} 


if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles 
$_SESSION['MM_Username'] = NULL; 
$_SESSION['MM_UserGroup'] = NULL; 
$_SESSION['PrevUrl'] = NULL; 
unset($_SESSION['MM_Username']); 
unset($_SESSION['MM_UserGroup']); 
unset($_SESSION['PrevUrl']); 

$logoutGoTo = "../index.html"; 
if ($logoutGoTo) { 
header("Location: $logoutGoTo"); 
exit; 
} 
} 

?> 
<?php 
if(isset($_GET['nomphoto'])) 
{ 
$nomphoto=$_GET['nomphoto']; 
} 
else 
{ 
$nomphoto=""; 
} 

if (isset($_GET['prod'])) 
{ 
$prod=$_GET['prod']; 
} 
else 
{ 
$prod=0; 
} 
?> 
<style type="text/css"> 
<!-- 
td { 
font-family: Verdana, Geneva, sans-serif; 
font-size: 12px; 
} 
#btn { 
margin-top: 70px; 
} 
--> 
</style> 

<link href="deconnexion.css" rel="stylesheet" type="text/css" /> 

 

Veuillez uploader la photo : <?php echo $nomphoto ?>,

----

<form method="post" enctype="multipart/form-data" action="finalupload.php">
">
">

</form>
 

[<?php echo $logoutAction ?> Deconnexion]
 



finalupload.php

//finalupload 

include('connection.php'); 

if (isset($_POST['upload'])){ 

if ($_POST['nomphoto']=="")	{ 
$nomphoto=$_FILES['fichier']['name']; 
$content_dir='images/'; 
    }else{ 
$nomphoto=$_POST['nomphoto']; 
$content_dir='img/'; 
} 
//echo $nomphoto; 

$tmp_file=$_FILES['fichier'] ['tmp_name']; 
if(!is_uploaded_file($tmp_file)){ 
exit("le fichier est introuvable"); 
}else{
$type_file=$_FILES['fichier'] ['type']; 
}

if (!strstr($type_file,'jpg') && !strstr($type_file,'jpeg') && !strstr($type_file,'bmp') && !strstr($type_file,'gif')){ 
exit("le fichier n'est pas une image"); 
}else{ 
$name_file=$_FILES['fichier'] ['name']; 
}

    /* getimagesize ? si le fichier $tmp_file n'est pas une image on ne charge rien */
if (getimagesize($tmp_file) && !move_uploaded_file($tmp_file,$content_dir.$nomphoto)){ 
exit("impossible de copier le fichier dans : $tmp_file"); 
}else{
/*class de redim se trouve ici à telcharger*/
/*http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/*/
include('SimpleImage.php');
$image = new SimpleImage();
$image->load($content_dir.$nomphoto);
$image->resize(640,480);/*480px*/
$image->save($content_dir . $nomphoto);
$image->resize(120,90);/*mini en 90px*/
$image->save($content_dir.'mini'.$nomphoto);
echo "

"; 
echo "Votre image est maintenant uploadée

"; 


if (isset($_POST['prod']) && (int)$_POST['prod']!=0){ 
$idprod=$_POST['prod']; 
$requete="UPDATE tbeausejour SET photos='" . $content_dir . $nomphoto . "' WHERE id=" . $idprod ; 
$requete2="UPDATE antebeausejour SET photos='" . $content_dir . $nomphoto . "' WHERE id=" . $idprod ; 
//echo $requete; 
$execute=mysql_query($requete); 
$execute=mysql_query($requete2); 
}else{
} 

    }

echo " Retour a la liste des biens

"; 

}else{
//no form
}
?>


Bonne programmation !
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
j'ai fait une erreur
il faut mettre

if (!getimagesize($tmp_file) || !move_uploaded_file($tmp_file,$content_dir.$nomphoto)){ 

Bonne programmation !