Upload et redimensionnement

kriss1 Messages postés 3 Date d'inscription samedi 12 février 2011 Statut Membre Dernière intervention 11 mars 2013 - 11 mars 2013 à 13:54
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 - 12 mars 2013 à 10:48
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

";
}


?>
A voir également:

2 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
12 mars 2013 à 10:41
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 !
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
12 mars 2013 à 10:48
j'ai fait une erreur
il faut mettre

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

Bonne programmation !
0
Rejoignez-nous