Upload photo soucy

Fermé
robocop - 21 sept. 2014 à 15:53
 robocop - 23 sept. 2014 à 12:44
Bonjour,

j'ai mis une fonction pour mettre une photo

																<?php

																/*AUTH(membre,false,true);*/
															
																if(isset($_GET['mid']) && id2level($_SESSION['id'])==ADMIN && (!isset($_GET['admincp']) || $_GET['admincp']!=tokenAdmin()))
																
																redirect('Vous n\'avez pas le droit d\'accéder ici', "/");
																
																else if(isset($_GET['mid']) && id2level($_SESSION['id'])==ADMIN && (isset($_GET['admincp']) || $_GET['admincp']==tokenAdmin())){
																
																$getMid = intval($_GET['mid']);
																
																}
																
																echo '<a name="avtChangerCenter"></a>';
																
																$mid = (!isset($getMid) ? $_SESSION['id'] : intval($getMid));
																
																$mid = (empty($mid)) ? 0 : $mid;
																
																$query = $pdo->prepare("SELECT * FROM forum_membres WHERE membre_id=?");
																
																$query->execute(array($mid));
																
																if($query->rowCount() > 0){
																
																if(isset($_POST['send'])){
																
																$status = UpdateAvatarById($mid,'avatar');
																
																if(array_key_exists("ERROR",$status)){
																
																if($status["ERROR"] == null)
																
																echo "Votre avatar à été changé avec succées";
																
																else
																
																echo "Une ou des erreur(s) s'est/se sont produite(s) : " . $status["ERROR"] . "<a href="".$_SERVER['REQUEST_URI']."?nocache=".rand(1000,95000)."#avtChangerCenter">Retour au formulaire</a>";
																
																}
																
																}else{
																
																echo '<form  id=\'imageFichier\' action="'.preg_replace("#\?nocache=([0-9]+)#","",$_SERVER['REQUEST_URI']).'#avtChangerCenter" method="post" enctype="multipart/form-data">
																
																											
																<div class="cadre_avatar_change_photo">'. GetAvatarById($mid['membre_id'],"avatar_forum_index_topic avatar_membre") . '</div>';
																
																?>
																
																
																<?php
																
																echo '<input type="file" name="avatar" />
																      <br /><br />
																      <label></label><input type="submit" name="send" value="Changer" />
																	  </form>';
																	  
																	  }
																	  
																	  }else{
																	  
																	  //CODE 0x77 Membre not found
																	  
																	  redirect("Problème technique, code 0x" . ord("MDLMEMBRENOTFOUND"));
																	  
																	  }
																	  
																	  ?>


ma fonction

function UpdateAvatarById($mid,$IAvt='avatar'){
 
        global $pdo;
 
        
 
        if(isset($_FILES[$IAvt]) && !empty($_FILES[$IAvt]['name']))
 
                                {
 
                                        $avatarName = basename($_FILES[$IAvt]['name']);
 
                                        $target = "avatar/avatar_membres/" . $avatarName ;
 
                                
 
                                        $isImageValid = true;
 
                                        
 
                                        $avatarSize = getimagesize($_FILES[$IAvt]['tmp_name']);
 
                                        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));
 
                                
 
                                        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' );
 
                                        $messageImage = '';
 
                                        
 
                                        if($avatarSize[0]>500 || $avatarSize[1]>500)
 
                                        {
 
                                                $isImageValid = false;
 
                                                $messageImage .= 'Votre image fait plus de 500 sur 500'; 
 
                                        }
 
                                        if(!in_array($extension_upload,$extensions_valides))
 
                                        {
 
                                                $isImageValid = false;
 
                                                $messageImage .= 'Votre extension d\'image n\'est pas acceptée, extentions valides : ';
 
                                                        foreach($extensions_valides as $v)
 
                                                                $messageImage .= $v . ' '; 
 
                                        }
 
                                        if($isImageValid){
 
                                                $temp = $_FILES[$IAvt]['name'];
 
                                                
 
                                                        $query = $pdo->prepare("UPDATE forum_membres SET membre_avatar=? WHERE membre_id=?" );
 
                                                                $query->execute(array($temp,$mid));
 
                                                        if($query->rowCount() < 1)
 
                                                                return array("ERROR" => "Impossible de modifier l'avatar d'un membre introuvable, merci de contacter le support en specifiant le code d'erreur 0x" . ord("FUNC_UPD_AVT_ERROR_MEMBER404" ));
 
                                                        else{
 
                                                                move_uploaded_file($temp,$target);
 
                                                                return array("ERROR" => null);
 
                                                        }
 
                                        }else{
 
                                                return array("ERROR" => $messageImage);
 
                                        }
 
                                }else{
 
                                        return array("ERROR" => "Merci choisir une image avant d'envoyer le formulaire" );       
 
                                }
 
}



il me dit

Une ou des erreur(s) s'est/se sont produite(s) : Impossible de modifier l'avatar d'un membre introuvable,


et j'ai aussi un soucy

j'aimis un code pour redimentioner ma photo hor s de son upload

// JavaScript Document

$(function() {
 
    $('#imageFichier input[type="file"]').change(function() {
       var file = $(this);
       var reader = new FileReader;
       reader.onload = function(event) {
 
         var fileType=file[0].files[0].type; // on récupère le type du fichier de base
                 
         var maxW=100; // on défini la largeur max après redimensionnement
         var maxH=100; // on défini la hauteur max après redimensionnement
                 
         var img = new Image();         
         img.onload = function() {
            var orrigineW=img.width;
            var orrigineH=img.height;
            var taille=tailleFinal(orrigineW, orrigineH, maxW, maxH)
            var width = taille.width;
            var height = taille.height;
            var canvas = document.createElement('canvas'); // creation d'un canvas
            canvas.width = width; // à la bonne dimension FINALE en largeur
            canvas.height = height; // à la bonne dimension FINALE en hauteur
             
            file.after(canvas);
            var context = canvas.getContext('2d'); // 3d ? non, une image est en 2D <img src="http://www.y3dev.com/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" class="wp-smiley"> 
            context.drawImage(img, 0, 0, width, height); // on place l'image au nouvelle dimensions
            data = canvas.toDataURL(fileType); // converti un canvas en url base64
            console.log(data);
        };//fin -> img.onload
 
        img.src = event.target.result;
 
        }; // fin -> reader.onload
 
        reader.readAsDataURL(file[0].files[0]);
    
    });// fin -> $('#imageFichier input[type="file"]')
 
});




il ne fonctione pas il veux pas redimentioner ma photo a 200*200 ou 150*150

et aussi l'autre ouci il ne veux pas afficher ma photo ou si il met bien ma foto mais si je rechange une autre photo impossible de remettre une autre photo

si qqun qui peut maider a metre mon code fonctione avec un e redimentionne hors de son uploas a 150*150

merci
A voir également:

1 réponse

up svp
0