Fin
EnvoAvatar : téléchargement d'images impossible
  • Envoyé: 12.10.2005, 22:30
    Invité
    rang:
    1
    enregistré depuis:
     décembre 2003
    Status:
    hors ligne
    dernière visite:
    06.03.05
    Messages:
    0
    icon_confused
    Bien qu'ayant donné les droits d'acces au répertoire images/avatar (chmod 777)
    Je ne parvients toujours pas à télécharger des images.
    J'ai re-téléchargé la version 1.1 et ré-installé, mais rien ne change.
    Le chemin que j'ai rentré dans la configue est : ../images/avatar. J'ai aussi testé avec d'autres chemin(./images/avatar;/images/avatar;images/avatar), hélas toujours rien.
    J'utilise PostNuke 0.750 sur un serveur SME, mais je ne connais pas grand chose au PHP.

    Aurais-tu une solution?

    Florianbfr
  • Envoyé: 12.10.2005, 23:14
       
    vedrine
    rang:
    Site Admin Site Admin
    enregistré depuis:
     décembre 2003
    Status:
    hors ligne
    dernière visite:
    21.07.08
    Messages:
    261
    puisque tu as bien modifié les droits d'accès en 777, il ne fait pas de doute que ton problème est bien un problème de chemin. Chez moi tout se passe bien avec juste images/avatar mais je sais que suivant la config du serveur tout n'est pas aussi simple. Sur certains serveurs windows il a fallu mettre le "vrai" chemin d'accès au répertoire (un truc du style "c:\dossier/sousdossier/images/avatar" sur certains serveurs linux le chemin en partant du home de l'utilisateur (un truc du style home/nom_util/public_html/images/avatar) sur d'autres encore le chemin par rapport à la racine du serveur web (un truc du style public_html/postnuke/images/avatar)
    en un mot c'est la galère !!!
    Il faut que je regarde comment guider l'utilisateur lors de la configuration.
  • Envoyé: 12.10.2005, 23:52
       
    vedrine
    rang:
    Site Admin Site Admin
    enregistré depuis:
     décembre 2003
    Status:
    hors ligne
    dernière visite:
    21.07.08
    Messages:
    261
    Pour t'aider à résoudre ton problème, tu peux essayer d'ajouter les lignes :
    Code
    $openbasedir = ini_get('open_basedir');

    echo '<tr><td>Your PHP server has "open_basedir" set to:</td><td> '. $openbasedir . '</td></tr>';

    $currentdir = dirname(__file__);

    echo '<tr><td>EnvoAvatar is installed in:</td><td> ' . $currentdir . '</td></tr>';

    $avatardir = pnModGetVar('EnvoAvatar', 'diravatar');

    echo '<tr><td>Current directory to upload avatars:</td><td>' . $avatardir . '</td></tr>';

    if ($avatardir) {
      if (!is_dir($avatardir) || !is_writable($avatardir) || !$avatardir) {
        echo '<tr><td colspan="2"><font color="#FF0000">'
        . '<i>This is not a directory, or this folder is not writable'
        . ' by the webserver. Please check the permissions'
        . '</i></font></td></tr>';
      } else {
        echo '<tr><td colspan="2"><font color="#00FF00">'
        . '<i>The webserver is able to write to this folder'
        . '</i></font></td></tr>';
      }
    }
    dans le fichier modules/EnvoAvatar/admin.php file juste avant les lignes:
    Code
    echo "<tr><td valign=\"top\"><b>"._ADMAVATAR5.": </b></td><td>"
            ."<input type=text size=25 maxlength=50 name=\"xdiravatar\" value=\""
                    .pnModGetVar('EnvoAvatar','diravatar')
                    ."\" ><b>default:</b> "._ADMAVATAR6."</td>"
            ."</tr>"

    Cela écrira à l'écran le répertoire de base, le répertoire où est le module et si le répertoire que tu as choisi est autorisé en écriture. Peut-être cela te donnera-t-il des idées de chemin à essayer icon_confused
    PS: Pardon, j'ai codé cela très vite, et j'ai oublié que ta demande était en français, j'ai donc mis tous les messages en anglais dans le code, la force de l'habitude ... désolé
  • Envoyé: 13.10.2005, 18:18
    Invité
    rang:
    1
    enregistré depuis:
     décembre 2003
    Status:
    hors ligne
    dernière visite:
    06.03.05
    Messages:
    0
    Ok, merci beaucoup, je regarde, je teste et te tiens au courant.
    Quand à l'anglais, this not a big problem. I don't speake very well but i can anderstand. icon_lol
  • Envoyé: 13.10.2005, 18:22
    Invité
    rang:
    1
    enregistré depuis:
     décembre 2003
    Status:
    hors ligne
    dernière visite:
    06.03.05
    Messages:
    0
    Voici le résultat obtenu:
    Your PHP server has "open_basedir" set to: /home/e-smith/files/ibays/Primary
    EnvoAvatar is installed in: /home/e-smith/files/ibays/Primary/html/modules/EnvoAvatar
    Current directory to upload avatars: images/avatar
    The webserver is able to write to this folder

    Mais j'obtiens toujours l'ERROR6
  • Envoyé: 13.10.2005, 19:52
       
    vedrine
    rang:
    Site Admin Site Admin
    enregistré depuis:
     décembre 2003
    Status:
    hors ligne
    dernière visite:
    21.07.08
    Messages:
    261
    Bon la phrase "The webserver is able to write to this folder" me laisse penser que ton chemin est correct est que c'est la fonction copy du php qui a un problème. Donc on va essayer une autre stratégie : si ton php n'est pas trop ancien, ouvre modules/envoAvatar/index.php et remplace les lignes
    Code
    $id=pnUserGetVar('uid');
                @copy($uploadfile['tmp_name'], "$pathavatar/pers_$id.$ext") or $err=6;
            if ($pathphpbb!=''){
                @copy($uploadfile['tmp_name'], "$pathphpbb/pers_$id.$ext") or $err=7;
            }
    par:
    Code
    $id=pnUserGetVar('uid');
                if (!move_uploaded_file($uploadfile['tmp_name'], "$pathavatar/pers_$id.$ext")) {
                    $err=6;
                }
                if ($pathphpbb!=''){
                    if (!move_uploaded_file($uploadfile['tmp_name'], "$pathphpbb/pers_$id.$ext")) {
            $err=7;
                    }
                }

    Et dis moi si çà marche.
  • Envoyé: 13.10.2005, 19:58
       
    florianbfr
    enregistré depuis:
     octobre 2005
    Status:
    hors ligne
    dernière visite:
    13.10.05
    Messages:
    1
    Ok, SUPER !!!
    avec ce code ça fonctionne !!!
    Un tres grand merci à toi pour ton aide et tes compétences en PHP

    vraiment tres cool de ta part. Je ne manquerais pas de mettre un lien vers ton site.
    Il se peut que j'ai d'autres questions à l'avenir et je sais que l'on peut compter sur toi.

    @+ icon_wink
Réponse rapide
 
  • Options
Code:
Couleur de la police:  
Taille de la police: