Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1041 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  photo ne veux pas se mettre dans ma page

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

photo ne veux pas se mettre dans ma page

n°2237353
ivan941
Posté le 09-09-2014 à 16:13:39  profilanswer
 

Bonjours, je vien de vous voir j'ai un soucy avec mon code avatar, quand je met une photo il me dit votre avatar a été ajouté sucée  
mais il ne met pas dans mon profil ni ans le serveur et ni dans la base sql
et pour temps il mets  
 

Citation :

Warning: getimagesize(images.jpg): failed to open stream: No such file or directory in /var/www/legtux.org/users/monsite/modules/membre/function.inc.php on line 1776
Votre avatar � �t� chang� avec succ�es


 
là il met votre avatar été changé avec succée mais il se met pas dans ma page  
 
voilà le code :
 

Citation :

               <?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 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" ));
                   
                   }
                   
                   ?>


 
et la fonction
 

Code :
  1. function UpdateAvatarById($mid,$IAvt='avatar'){
  2.  
  3.        global $pdo;
  4.  
  5.        
  6.  
  7.        if(isset($_FILES[$IAvt]) && !empty($_FILES[$IAvt]['name']))
  8.  
  9.                                {
  10.  
  11.                                        $avatarName = basename($_FILES[$IAvt]['name']);
  12.  
  13.                                        $target = "avatar/avatar_membres/" . $avatarName ;
  14.  
  15.                                
  16.  
  17.                                        $isImageValid = true;
  18.  
  19.                                        
  20.  
  21.                                        $avatarSize = getimagesize($_FILES[$IAvt]['name']);
  22.  
  23.                                        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));
  24.  
  25.                                
  26.  
  27.                                        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' );
  28.  
  29.                                        $messageImage = '';
  30.  
  31.                                        
  32.  
  33.                                        if($avatarSize[0]>500 || $avatarSize[1]>500)
  34.  
  35.                                        {
  36.  
  37.                                                $isImageValid = false;
  38.  
  39.                                                $messageImage .= 'Votre image fait plus de 500 sur 500';
  40.  
  41.                                        }
  42.  
  43.                                        if(!in_array($extension_upload,$extensions_valides))
  44.  
  45.                                        {
  46.  
  47.                                                $isImageValid = false;
  48.  
  49.                                                $messageImage .= 'Votre extension d\'image n\'est pas acceptée, extentions valides : ';
  50.  
  51.                                                        foreach($extensions_valides as $v)
  52.  
  53.                                                                $messageImage .= $v . ' ';
  54.  
  55.                                        }
  56.  
  57.                                        if($isImageValid){
  58.  
  59.                                                $temp = $_FILES[$IAvt]['tmp_name'];
  60.  
  61.                                                
  62.  
  63.                                                        $query = $pdo->prepare("UPDATE forum_membres SET membre_avatar=? WHERE membre_id=?" );
  64.  
  65.                                                                $query->execute(array($temp,$mid));
  66.  
  67.                                                        if($query->rowCount() < 1)
  68.  
  69.                                                                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" ));
  70.  
  71.                                                        else{
  72.  
  73.                                                                move_uploaded_file($temp,$target);
  74.  
  75.                                                                return array("ERROR" => null);
  76.  
  77.                                                        }
  78.  
  79.                                        }else{
  80.  
  81.                                                return array("ERROR" => $messageImage);
  82.  
  83.                                        }
  84.  
  85.                                }else{
  86.  
  87.                                        return array("ERROR" => "Merci choisir une image avant d'envoyer le formulaire" );      
  88.  
  89.                                }
  90.  
  91. }


ligne de la notice
 
                                        $avatarSize = getimagesize($_FILES[$IAvt]['name']);
 
 
merci de vote aide

mood
Publicité
Posté le 09-09-2014 à 16:13:39  profilanswer
 

n°2237362
rufo
Pas me confondre avec Lycos!
Posté le 09-09-2014 à 16:55:45  profilanswer
 

C'est quand même clair : la fonction getimagesize() n'a pas réussi à ouvrir le fichier mentionné ligne 1776 du script situé à /var/www/legtux.org/users/monsite/modules/membre/function.inc.php
 
Le fichier/répertoire en question est $_FILES[$IAvt]['name']. Effectivement, ça risque aps de marcher, car tu ne précsie pas le chemin d'accès complet, $_FILES[$IAvt]['name'] ne contenant que le nom du fichier. D'ailleurs, en faisant un print_r($_FILES), tu vas vite comprendre que tu ne peux pas traiter cette variable comme ça. Quand on upload un fichier, généralement, il va dans le répertoire /tmp/ du serveur (voir le php.ini pour savoir où les upload se font). Au passage, faut vérifier que le user que php utilise pour accéder aux système de fichier a bien les droits en écriture sur ce répertoire /tmp/.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2237387
ivan941
Posté le 09-09-2014 à 17:23:23  profilanswer
 

j'ai mis un print mais ca n'affiche une page blanche
 
et urll des avatars : avatar/avatar_membres/

n°2237394
rufo
Pas me confondre avec Lycos!
Posté le 09-09-2014 à 17:32:50  profilanswer
 

Sauf que lorsque tu fais l'upload, le fichier est stocké temporairement dans /tmp/ en général. A toi, dans ton script d'upload, de déplacer le fichier dans son répertoire définitif. Et j'ai pas l'impression que tu le fais, d'où ton pb :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2237399
ivan941
Posté le 09-09-2014 à 17:40:00  profilanswer
 

je te croit mais pk ds le code avatar/avatar_membres/" . $avatarName ;
 
donc bon dossier si c pas le bon

n°2237411
MaybeEijOr​Not
but someone at least
Posté le 09-09-2014 à 18:02:18  profilanswer
 

Code :
  1. move_uploaded_file($temp,$target);


 
Le fichier est bien move vers la destination finale. Donc le problème est antécédent, probablement un mauvais paramétrage du fichier de stockage temporaire.

n°2237413
ivan941
Posté le 09-09-2014 à 18:04:53  profilanswer
 

merci, j'ai compris que mon dossier n'est pas bon mais vous avez pas une solution modifier ca par un autre code pour tester

n°2237485
MaybeEijOr​Not
but someone at least
Posté le 09-09-2014 à 20:53:05  profilanswer
 

Commence par vérifier ton php.ini, ce doit être là dedans je pense.

n°2237506
ivan941
Posté le 09-09-2014 à 22:07:18  profilanswer
 

j'ai changer ligne 59
 
$temp = $_FILES[$IAvt]['tmp_name'];
 
par
 
$temp = $_FILES[$IAvt]['name'];
 
là je prends une photo donc il aparait bien sur tout les pages enfin pas tous je ne sais pas pour quoi
 
et j'ai choisit une autre photo juste pour tester il la mets pas juste une photo et pas d'autre  
 
et la ligne 13 j'ai mis
 
 echo '<div class="photo_upload">';
                                        $target = "avatar/avatar_membres/" . $avatarName ;
 
 
 echo '</div>';
 
afin de fixer une taile minimum mais ca ne fonctione pas
 
merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  photo ne veux pas se mettre dans ma page

 

Sujets relatifs
[VB.NET] Intéraction avec page WebLargeur de page en XML
Noob: Comment ouvrir un popup au chargement d'une page?[Résolu] Lien href qui remplace une page affichée via un include
Afficher bannière et ses boutons en allant la chercher sur autre pageRécupèrer des informations sur un page web
Background / Fond de page HTML sous Blue GriffonAvec IE8, mes données avec AJAX disparaissent d'une page à l'autre !
changer la couleur d'un cadre de photo dans flashTheme wordpress artisteer : aligner les éléments d'une page et espaces
Plus de sujets relatifs à : photo ne veux pas se mettre dans ma page


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR