c'est pas toi qu'a fait le fichier php ?C'est quoi le header ?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>test</title>
<meta name="description" content="test"/>
<meta name="keywords" content="test"/>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<META NAME="revisit-after" CONTENT="7 day">
<META NAME="Robots" CONTENT="all">
<META NAME="language" CONTENT="FR">
<link rel="stylesheet" media="screen" type="text/css" title="Design sombre" href="styles\styles.css" />
</head>
<!--commentaire-->
heu c'est bien pour ça que je suis sur le forumMontres nous le code qui utilise GD je pense que cela sera plus simple à la vue de tes lacunes techniques.
if(isset($_FILES['up_photo']))
{
unset($erreur);
$extensions_ok = array('png', 'PNG', 'jpg', 'jpeg', 'JPEG', 'JPG');
// on défini une variable $ratio qui vaudra 150 dans notre cas (150 pixels).
// En fait, pour nos miniatures, nous allons respecter le ratio de l'image originale, mais nous allons forcer sa taille à 150 pixels,
// soit en hauteur soit en largeur (tout dépend de l'orientation de notre image : paysage ou portrait).
$ratio = 50; // pour les miniatures
$Wmax = 300; // largeur maximale voulue (pour la photo d'origine)
$Hmax = 300; // hauteur maximale voulue ( pour la photo d'origine)
// Création des dossiers
if (!file_exists($dest_dossier))
{
mkdir ($dest_dossier, 0777);
}
if (!file_exists($dest_dossier_mini))
{
mkdir ($dest_dossier_mini, 0777);
}
// on compte d'abord le nombre d'image dans le répertoire
$num_images = count_files($dest_dossier);
if ($num_images < 10)
{
// on teste si le champ permettant de soumettre un fichier est vide ou non
if (empty($_FILES['up_photo']['tmp_name']))
{
// si oui, on affiche un petit message d'erreur
$erreur[] = $txt0103;
}
else
{
// on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier
//(je vous suggère de regarder la documentation de la fonction getimagesize pour de plus amples informations)
$tableau = @getimagesize($_FILES['up_photo']['tmp_name']);
$W_Src = $tableau[0]; // largeur
$H_Src = $tableau[1]; // hauteur
if ($tableau == FALSE)
{
// si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur
unlink($_FILES['up_photo']['tmp_name']);
$erreur[] = $txt0104;
}
else
{
// vérifications de l'extention
if( !in_array( substr(strrchr($_FILES['up_photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur[] = $txt0105;
}
elseif( file_exists($_FILES['up_photo']['tmp_name'])
and filesize($_FILES['up_photo']['tmp_name']) > $max_size)
{
$erreur[] = $txt0106;
}
// on détremine la taille de la photo
$up_taille = $_FILES['up_photo']['size'];
$dest_fichier = basename($_FILES['up_photo']['name']);// cela donne le même résultat que la commande ==> $_FILES['up_photo']['name'];
// $extension = strrchr(strtolower($dest_fichier), '.');
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// on vérifie si le fichier n'est pas déjà présent :
$chemin_fic = $dest_dossier . $dest_fichier;
// Vérification de l'existence du fichier dans le répertoire et si besoin renommage du fichier
// $chemin_fic = Rename_fich($chemin_fic,$dest_fichier);
/*if (file_exists($chemin_fic))
{
$dest_fichier = 'DUP'.$dest_fichier;
echo 'dest_fichier = '.$dest_fichier;
}*/
// si l'image n'est ni un jpeg, ni un png, on supprime le fichier uploadé et on affiche le message d'erreur
if (!($tableau[2] == 2 || $tableau[2] == 3))
{
unlink($_FILES['up_photo']['tmp_name']);
$erreur[] = $txt0107;
}
}
}
}
else
{
$erreur[] = $txt0108;
}
// copie du fichier
if(!isset($erreur))
{
// copie du fichier
if (move_uploaded_file($_FILES['up_photo']['tmp_name'], $dest_dossier . $dest_fichier)) // à ce moment on met le fichier sur le serveur
{
// A- LARGEUR ET HAUTEUR maxi fixes
if ($Wmax != 0 && $Hmax != 0) {
$ratiox = $W_Src / $Wmax; // ratio en largeur
$ratioy = $H_Src / $Hmax; // ratio en hauteur
$ratiobis = max($ratiox,$ratioy); // le plus grand
$W = $W_Src/$ratiobis;
$H = $H_Src/$ratiobis;
$condition = ($W_Src>$W) || ($H_Src>$H); // 1 si vrai (true)
}
// Creation de l'image miniature
$jpeg = false;
$png = false;
// si notre image est de type jpeg
if ($tableau[2] == 2)
{
$jpeg = true;
// on crée une image à partir de notre grande image à l'aide de la librairie GD
$src = imagecreatefromjpeg($dest_dossier.'/'.$dest_fichier);
// $Ress_Src = imagecreatefromjpeg($rep_Src.$img_Src);
// $Ress_Dst = ImageCreateTrueColor($W,$H);
// on teste si notre image est de type paysage ou portrait
if ($tableau[0] > $tableau[1])
{
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
if ($condition == 1) {
// $im_gd = imagecreatetruecolor(round(($ratiobis/$tableau[1])*$tableau[0]), $ratiobis);
// imagecopyresampled($im_gd, $src, 0, 0, 0, 0, round(($ratiobis/$tableau[1])*$tableau[0]), $ratiobis, $tableau[0], $tableau[1]);}
$im_gd = imagecreatetruecolor($W,$H);
// ImageCopyResampled($Ress_Dst, $Ress_Src, 0, 0, 0, 0, $W, $H, $W_Src, $H_Src);
ImageCopyResampled($im_gd, $src, 0, 0, 0, 0, $W, $H, $W_Src, $H_Src);}
}
else
{
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
if ($condition == 1) {
$im_gd = imagecreatetruecolor($W,$H);
// imagecopyresampled($im_gd, $src, 0, 0, 0, 0, $ratiobis, round($tableau[1]*($ratiobis/$tableau[0])), $tableau[0], $tableau[1]);}
ImageCopyResampled($im_gd, $src, 0, 0, 0, 0, $W, $H, $W_Src, $H_Src);}
}
// on copie notre fichier généré dans le répertoire des miniatures
imagejpeg ($im, $dest_dossier_mini.'/'.$dest_fichier);
if ($condition == 1) {
imagejpeg ($im_gd, $dest_dossier.'/'.$dest_fichier);}
}
if ($tableau[2] == 3)
{
$png = false;
$src = imagecreatefrompng($dir.'/'.$file_upload);
if ($tableau[0] > $tableau[1])
{
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
}
else
{
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
}
imagepng ($im, $dir_mini.'/'.$file_upload);
}
// on se connecte à MySQL
include ('connect.php');
// on détermine d'abord l'id_log
$sqla = sprintf("SELECT id_log FROM flatforswap_logement WHERE id_adh='".$_SESSION['id_adh']."'");
$reqa = mysql_query($sqla) or die('Erreur SQL : <br />'.$sqla);
$dataa = mysql_fetch_assoc($reqa);
$id_log = $dataa['id_log'];
// on peut maintenant insérer les données da ns la table photo
$date = date("Y-m-d");
$sqlb = sprintf("insert into flatforswap_photo(id_log,up_nom,up_titre,up_taille,up_date) values(%s, %s, %s, %s, %s)", quote_smart($id_log), quote_smart($dest_fichier), quote_smart($_POST["up_titre"]), quote_smart($up_taille), quote_smart($date));
$reqb = mysql_query($sqlb) or die('Erreur SQL : <br />'.$sqlb);
// on peut renommer le fichier
if($jpeg){
$ext = '.jpeg';}
else{
$ext = '.png';}
rename($dest_dossier.'/'.$dest_fichier, $dest_dossier.'/'.mysql_insert_id().$ext);
rename($dest_dossier_mini.'/'.$dest_fichier, $dest_dossier_mini.'/'.mysql_insert_id().$ext);
$sqlc = sprintf("update flatforswap_photo set up_nom=%s where id_pho=%s", quote_smart(mysql_insert_id().$ext), quote_smart(mysql_insert_id()));
$reqc = mysql_query($sqlc) or die('Erreur SQL : <br />'.$sqlc);
}
}
}
parce que ca fais plein de fois que je vois se genre de code, et que je voudrais envoyer un mail a l'auteur parce que c'est immonde, et que y'a plein de personne comme toi qui on des soucis avecheu, atttends là c'est un intérrogatoire ou quoi![]()
Pourquoi veux-tu savoir ou je l'ai choppé ?
Je dois t'avouer que je ne sais plus trop... Ca fait déjà un bout de temps que je travaille avec en local et ça fonctionne parfaitement en local.
C'est maintenant que je me rends compte qu'il ne fonctionne pas chez mon hébergeur...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>test</title>
<meta name="description" content="test"/>
<meta name="keywords" content="test"/>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<META NAME="revisit-after" CONTENT="7 day">
<META NAME="Robots" CONTENT="all">
<META NAME="language" CONTENT="FR">
<link rel="stylesheet" media="screen" type="text/css" title="Design sombre" href="styles\styles.css" />
</head>
<!--commentaire-->
<body>
<form method="POST" action="" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<fieldset>
<legend>Envoi de fichiers</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="up_photo">Photo :</label><input type="file" name="up_photo" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</fieldset>
</form>
</body>
</html
<?php
/* Ajout des 3 lignes ci dessous que l'on avait pas*/
$dest_dossier ='imagestest';
$dest_fichier = 'final';
$dest_dossier_mini = 'imagesmini';
$max_size='1000000000';// A corriger, j'ai mis un chiffre exubérent pour en pas être emmerd*
if(isset($_FILES['up_photo'])){
unset($erreur);
$extensions_ok = array('png', 'PNG', 'jpg', 'jpeg', 'JPEG', 'JPG');
// on défini une variable $ratio qui vaudra 150 dans notre cas (150 pixels).
// En fait, pour nos miniatures, nous allons respecter le ratio de l'image originale, mais nous allons forcer sa taille à 150 pixels,
// soit en hauteur soit en largeur (tout dépend de l'orientation de notre image : paysage ou portrait).
$ratio = 50; // pour les miniatures
$Wmax = 300; // largeur maximale voulue (pour la photo d'origine)
$Hmax = 300; // hauteur maximale voulue ( pour la photo d'origine)
// Création des dossiers
if (!file_exists($dest_dossier)){
mkdir ($dest_dossier, 0777);
}
if (!file_exists($dest_dossier_mini)){
mkdir ($dest_dossier_mini, 0777);
}
// on compte d'abord le nombre d'image dans le répertoire
$num_images = count_files($dest_dossier);// Pas testé car je n'ai pas la fonction
//$num_images=5; <= pour le test
if ($num_images < 10){
// on teste si le champ permettant de soumettre un fichier est vide ou non
if (empty($_FILES['up_photo']['tmp_name'])){
// si oui, on affiche un petit message d'erreur
$erreur[] = $txt0103;
}
else{
// on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier
//(je vous suggère de regarder la documentation de la fonction getimagesize pour de plus amples informations)
$tableau = @getimagesize($_FILES['up_photo']['tmp_name']);
$W_Src = $tableau[0]; // largeur
$H_Src = $tableau[1]; // hauteur
if ($tableau == FALSE){
// si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur
unlink($_FILES['up_photo']['tmp_name']);
$erreur[] = $txt0104;
}
else{
// vérifications de l'extention
if( !in_array( substr(strrchr($_FILES['up_photo']['name'], '.'), 1), $extensions_ok ) ){
$erreur[] = $txt0105;
}
elseif( file_exists($_FILES['up_photo']['tmp_name'])
and filesize($_FILES['up_photo']['tmp_name']) > $max_size){
$erreur[] = $txt0106;
}
// on détremine la taille de la photo
$up_taille = $_FILES['up_photo']['size'];
$dest_fichier = basename($_FILES['up_photo']['name']);// cela donne le même résultat que la commande ==> $_FILES['up_photo']['name'];
// $extension = strrchr(strtolower($dest_fichier), '.');
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// on vérifie si le fichier n'est pas déjà présent :
$chemin_fic = $dest_dossier . $dest_fichier;
// Vérification de l'existence du fichier dans le répertoire et si besoin renommage du fichier
// $chemin_fic = Rename_fich($chemin_fic,$dest_fichier);
/*if (file_exists($chemin_fic))
{
$dest_fichier = 'DUP'.$dest_fichier;
echo 'dest_fichier = '.$dest_fichier;
}*/
// si l'image n'est ni un jpeg, ni un png, on supprime le fichier uploadé et on affiche le message d'erreur
if (!($tableau[2] == 2 || $tableau[2] == 3)){
unlink($_FILES['up_photo']['tmp_name']);
$erreur[] = $txt0107;
}
}
}
}
else{
$erreur[] = $txt0108;
}
// copie du fichier
if(!isset($erreur)){
// copie du fichier
if (move_uploaded_file($_FILES['up_photo']['tmp_name'], $dest_dossier .'/'. $dest_fichier)) {
// à ce moment on met le fichier sur le serveur
// A- LARGEUR ET HAUTEUR maxi fixes
if ($Wmax != 0 && $Hmax != 0) {
$ratiox = $W_Src / $Wmax; // ratio en largeur
$ratioy = $H_Src / $Hmax; // ratio en hauteur
$ratiobis = max($ratiox,$ratioy); // le plus grand
$W = $W_Src/$ratiobis;
$H = $H_Src/$ratiobis;
$condition = ($W_Src>$W) || ($H_Src>$H); // 1 si vrai (true)
}
// Creation de l'image miniature
$jpeg = false;
$png = false;
// si notre image est de type jpeg
if ($tableau[2] == 2){
$jpeg = true;
// on crée une image à partir de notre grande image à l'aide de la librairie GD
$src = imagecreatefromjpeg($dest_dossier.'/'.$dest_fichier);
// $Ress_Src = imagecreatefromjpeg($rep_Src.$img_Src);
// $Ress_Dst = ImageCreateTrueColor($W,$H);
// on teste si notre image est de type paysage ou portrait
if ($tableau[0] > $tableau[1]){
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
if ($condition == 1) {
// $im_gd = imagecreatetruecolor(round(($ratiobis/$tableau[1])*$tableau[0]), $ratiobis);
// imagecopyresampled($im_gd, $src, 0, 0, 0, 0, round(($ratiobis/$tableau[1])*$tableau[0]), $ratiobis, $tableau[0], $tableau[1]);}
$im_gd = imagecreatetruecolor($W,$H);
// ImageCopyResampled($Ress_Dst, $Ress_Src, 0, 0, 0, 0, $W, $H, $W_Src, $H_Src);
ImageCopyResampled($im_gd, $src, 0, 0, 0, 0, $W, $H, $W_Src, $H_Src);}
}
else{
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
if ($condition == 1) {
$im_gd = imagecreatetruecolor($W,$H);
// imagecopyresampled($im_gd, $src, 0, 0, 0, 0, $ratiobis, round($tableau[1]*($ratiobis/$tableau[0])), $tableau[0], $tableau[1]);}
ImageCopyResampled($im_gd, $src, 0, 0, 0, 0, $W, $H, $W_Src, $H_Src);}
}
// on copie notre fichier généré dans le répertoire des miniatures
imagejpeg ($im, $dest_dossier_mini.'/'.$dest_fichier);
if ($condition == 1) {
imagejpeg ($im_gd, $dest_dossier.'/'.$dest_fichier);}
}
if ($tableau[2] == 3){
$png = false;
$src = imagecreatefrompng($dest_dossier.'/'.$dest_fichier);
if ($tableau[0] > $tableau[1]){
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
}
else{
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
}
imagepng ($im, $dest_dossier_mini.'/'.$dest_fichier);
}
// on se connecte à MySQL
/**************** Partie non testée *************/
include ('connect.php');
// on détermine d'abord l'id_log
$sqla = sprintf("SELECT id_log FROM flatforswap_logement WHERE id_adh='".$_SESSION['id_adh']."'");
$reqa = mysql_query($sqla) or die('Erreur SQL : <br />'.$sqla);
$dataa = mysql_fetch_assoc($reqa);
$id_log = $dataa['id_log'];
// on peut maintenant insérer les données da ns la table photo
$date = date("Y-m-d");
$sqlb = sprintf("insert into flatforswap_photo(id_log,up_nom,up_titre,up_taille,up_date) values(%s, %s, %s, %s, %s)", quote_smart($id_log), quote_smart($dest_fichier), quote_smart($_POST["up_titre"]), quote_smart($up_taille), quote_smart($date));
$reqb = mysql_query($sqlb) or die('Erreur SQL : <br />'.$sqlb);
/**************** Fin de partie non testée *************/
// on peut renommer le fichier
if($jpeg){
$ext = '.jpeg';}
else{
$ext = '.png';}
/**************** Partie non testée *************/
rename($dest_dossier.'/'.$dest_fichier, $dest_dossier.'/'.mysql_insert_id().$ext);
rename($dest_dossier_mini.'/'.$dest_fichier, $dest_dossier_mini.'/'.mysql_insert_id().$ext);
$sqlc = sprintf("update flatforswap_photo set up_nom=%s where id_pho=%s", quote_smart(mysql_insert_id().$ext), quote_smart(mysql_insert_id()));
$reqc = mysql_query($sqlc) or die('Erreur SQL : <br />'.$sqlc);
/**************** Fin de partie non testée *************/
}
}
}
?>