Bonjour,

Voila j'ai un petit souci avec mon code php. En fait je veux permetre aux utilisateurs d'ajouter une photos de profil à leur compte, tout fonction pourtant bien en local mais en production ça merde.
Voila mon code :

J'ai pas utilisé des objects ou des fonctions. Jai pas trouvé cela utile.

            if(!empty($_POST['avatarpost'])){
                if(!empty($_FILES['avatar']['name'])){
                    $id_avatar = $_SESSION['auth']->id;
                    $tailleMax = 2097152;
                    $extensionValides = array('jpg', 'jpeg', 'gif', 'png');
                    if($_FILES['avatar']['size'] <= $tailleMax){
                        $extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1));
                        if(in_array($extensionUpload, $extensionValides)){
                            $chemin = "users/avatar/".$id_avatar.".".$extensionUpload;
                            $resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
                            if($resultat){
                                $updateavatar = $pdo->prepare('UPDATE users set avatar = :avatar, avatar_test = :id WHERE id = :id');
                                $updateavatar->execute(array(
                                    'avatar' => $id_avatar.".".$extensionUpload,
                                    'id' => $id_avatar
                                ));
                                header('Location: compte.php');
                            }else{ $_SESSION['flash']['danger'] = "Erreur durant l'importation de votre photo"; }
                        }else{ $_SESSION['flash']['danger'] = "Votre photo de profil doit être au format jpg, jpeg, gif ou png."; }
                    }
                }else{ $_SESSION['flash']['danger'] = "Pas de photo selectionner."; }
            }

Normal c'est sensé déplacer la photo selectionner dans le repertoire users/avatar/ et la renomée.

En local (WAMP SERVEUR) tout fonctionne bien mais quand je passe en production (Sur mon serveur hebergé) j'ai cette erreur :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Voila j'espère que quelqu'un aura la réponse..
Merci d'avance.

4 réponses


Lartak
Réponse acceptée

Bonjour.
Si ton système fonctionne sans soucis en environnement de dev, mais pas en production, tu devrais vérifier les droits d'écritures du dossier concerné pour stocker les photos.
En général en environnement de développement les droits de lecture/écriture ne sont pas un problème, mais en environnement de production ça peut être différent, il te faut donc vérifier ce point là au niveau de ton environnement de production et agir en conséquence.

Eric237
Auteur

Bonjour Lartak.

Merci déjà pour ta réponse. Mais comment vérifier les droits de lecture/écriture d'un dossier

Eric237
Auteur

Lartak Merci de m'avoir orrienté. J'ai trouvé et tout fonctionne. Merci encore

De rien.
Si ton problème est résolu, penses à marquer ton sujet comme tel.