Déplacer et miniaturiser une photos

mwa_85 Messages postés 5 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 13 février 2007 - 11 févr. 2007 à 16:56
Sly_83 Messages postés 3 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 11 février 2007 - 11 févr. 2007 à 22:09
Bonjour,
Voila je fais un site actuellement et je souhaiterais uploadé des photos.
Mais arrivé à la vérification move_uploaded_file, sa plante.
De plus je suis à la recherche de script pour faire 2 miniatures.
Pouvez-vous m'aidez ?
Voici mon script.
Désolé c'est un peu long et lours, mais ceci est un forum d'entraide non ? lol :
<?php

function getextension($fichier)
{
$bouts = explode(".", $fichier);
$extension = array_pop($bouts);
return $extension;
}

if(isset($_POST['nom']))
{
echo'1';
$taillemax=$_POST['max'];
$dossier=$_POST['nom'];
echo$dossier;
$dossier_moy =mkdir('../'.$dossier, 0777);
$dossier_min =mkdir('../'.$dossier.'/mini', 0777);
$dossier_gde =mkdir('../'.$dossier.'/gde', 0777);
if(($dossier_moy==true) AND ($dossier_min==true) AND ($dossier_gde==true))
{
echo'2';
if(!empty($_POST['fichier1']))//on vérifie si le fichier existe
{
echo'3';
if($_FILES['fichier1']['size'] ??> $taillemax OR $_FILES['fichier1']['error'] > 0)//on vérifie si il n'est pas trop gros ou si il ne comporte pas d'erreur
{
echo'Une erreur s\'est produite lors du téléchargement ou votre fichier peut être trop volumineux !!';//on annonce une erreur si c'est le cas.
}
else//sinon on continu.
{
echo'4';
$extension = getextension($_POST['fichier1']);
echo $extension;
if($extension =='png' OR $extension=='gif' OR $extension=='jpg' OR $extension=='jpeg' OR $extension =='PNG' OR $extension=='GIF' OR $extension=='JPG' OR $extension=='JPEG')// si c'est la bonne extension on continu
{
echo'
../'.$dossier.'/gde/'.$_POST['fichier1'];
$ze = move_uploaded_file($_FILES['fichier1']['tmp_name'],'../'.$dossier.'/gde/'.basename($_FILES['fichier1']['tmp_name']));
if($ze == true)
{echo'6';}
else
{
echo'raté';
}
}
else//on dis que l'extension est mauvaise
{
echo 'L\'extension de votre fichier n\'est pas valide.';
}
}
}
}
else
{
echo'le dossier contenant les photos n\'a pu être créer';
}
}
else
{
?>
Veuillez entrer un nom pour votre album
<?php
}
???>

3 réponses

Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
11 févr. 2007 à 17:08
Ce serait bien d'écrire du code, pas des patés, c'est illisible comme ca.
Pour ton erreur de move_uploaded_file, il te dit quoi exactement ?
Est tu sur d'avoir les droits d'écriture ?
0
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
11 févr. 2007 à 20:04
essaye d'utiliser rename à la p'lace de move_uploaded_file() avec la même syntaxe... des fois ça aide. Pour ce qui est des miniatures, tu peux faire comme ça:

switch(substr($file,strrpos($file, "."))){

default:

$im=imagecreatefromjpeg($file);
break;

case ".png":

$im=imagecreatefrompng($file);

break;

case ".gif":

$im=imagecreatefromgif($file);

break;

}
// on copie aussi et on gŽnre le thumbnail
//max = 800px
$max = 800;
if(imagesy($im)>imagesx($im)){

$im2=imagecreatetruecolor($max*(imagesx($im)/imagesy($im)),$max);

}else{

$im2=imagecreatetruecolor($max,$max*(imagesy($im)/imagesx($im)));

}

imagecopyresized($im2,$im,0,0,0,0,imagesx($im2),imagesy($im2),imagesx($im),imagesy($im));
imagejpeg($im2,$nom . '.jpg',100);


Ca prends une image (nom du fichier dans $file), ca t'en fait un .jpg dont le maximum etrre hauteur et largeur fait 800px ($max) et ça te l'exporte dans le fichier $nom.jpg voila...
0
Sly_83 Messages postés 3 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 11 février 2007
11 févr. 2007 à 22:09
Voilà ce que j''essaie de faire mais le redimensionnement ne fonctionne pas. Je sais pas pourquoi. Je pense que c'est une base inspirée de code existant sur le web :
    // copie du fichier
    if  (move_uploaded_file($_FILES['photo']['tmp_name'], $dest_fichier) == TRUE)
        {
        $url_copy = $dest_dossier_copy . $dest_fichier;
        if (copy($dest_fichier,$url_copy) == TRUE) // deplacement dans le dossier de destination final
            {
            $aok = unlink($dest_fichier); // si déplacement OK
            if ($aok != 0) { // Redimensionnement
                // Calcul des nouvelles dimensions
                if ($width > $height && $width != $max_width) {// Cas photo horizontale
                    $ratio = $width/$max_width;
                    $n_largeur = $max_width;
                    $n_hauteur = $height / $ratio;
                }
                if ($height > $width && $height != $max_height) {// Cas photo verticale
                    $ratio = $height/$max_height;
                    $n_largeur = $width / $ratio;
                    $n_hauteur = $max_height;
                }

                //création de la destination
                $destination = imagecreatetruecolor($n_largeur, $n_hauteur);
           
                //ouverture de la source
                $source = imagecreatefromjpeg($url_copy);
           
                //redimensionnement
                imagecopyresized($destination, $source, 0, 0, 0, 0, $n_largeur, $n_hauteur, $largeur, $hauteur);
                imagejpeg($destination);
                imagedestroy($destination);
                imagedestroy($source);
                }           
            }
        }

Merci pour votre aide
0
Rejoignez-nous