IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP Warning: move_uploaded_file


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 54
    Points : 72
    Points
    72
    Par défaut PHP Warning: move_uploaded_file
    Je suis en train de monter un script tout bête d'upload d'avatar sur mon site et j'ai cet affreux message d'erreur :

    [27-Mar-2010 20:08:17] PHP Warning: move_uploaded_file(avatar/) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: Is a directory in /home/estoriai/public_html/profil.php on line 238
    [27-Mar-2010 20:08:17] PHP Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move '/tmp/phpdAROB6' to 'avatar/' in /home/estoriai/public_html/profil.php on line 238

    Quelqu'un pourrait-il m'aider à en trouver l'origine ? Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <?php
    if (isset($_FILES['avatar']))
    {
    	// Vérifier les éventuelles erreurs
    	if ($_FILES['avatar']['error'] == 0)
    	{
    		// Vérifier la taille du fichier
    		if ($_FILES['avatar']['size'] <= 10240)
    		{
    			// Vérifier l'extension du fichier
    			if ($_FILES['avatar']['type'] != 'image/png' && $_FILES['avatar']['type'] != 'image/jpeg' && $_FILES['avatar']['type'] != 'image/jpg' && $_FILES['avatar']['type'] != 'image/gif')
    			{
    				echo 'Votre avatar doit être au format jpeg, jpg, gif ou png.';
    			} 
    			else
    			{
    				// Vérifier les dimensions de l'image
    				$maxwidth = 100; // En pixel
    				$maxheight = 100;
    				$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
    				if ($image_sizes[0] <= $maxwidth AND $image_sizes[1] <= $maxheight)
    				{
    					// On définit l'extention du fichier puis on le nomme par le timestamp actuel
    					if ($_FILES['avatar']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
    					if ($_FILES['avatar']['type'] == 'image/jpg') { $extention = '.jpg'; }
    					if ($_FILES['avatar']['type'] == 'image/png') { $extention = '.png'; }
    					if ($_FILES['avatar']['type'] == 'image/gif') { $extention = '.gif'; }
    					$nom_avatar = time().$extention; 
    					$repertoire = 'avatar/';
    					if (move_uploaded_file($_FILES['avatar']['tmp_name'], $repertoire.$nom_avatar))
    					{
    						echo 'Image uploaded !';
    					}
    					else
    					{
    						echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
    					}
    				}
    				else
    				{
    					echo '<p>Les dimensions de votre image ne sont pas correctes (taille maximale : 100*100).</p>';
    				}
    			}
    		}
    		else
    		{
    			echo '<p>Votre avatar est trop lourd (poids maximum : 10ko).</p>';
    		}
    	}
    	else
    	{
    		echo '<p>Une erreur est survenue lors de l\'enregistrement de votre avatar.</p>';
    	}
    }
     
    ?>

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 54
    Points : 72
    Points
    72
    Par défaut
    heu ca marche en fait ! le truc c'est que les fichiers existent sur le serveur mais ne sont pas visible via Filezila o.O Pourtant je peux y accéder via leur lien (j'ai vu ça grâce au cpnael de mon hébergeur)! Bizarre bizarre...

  3. #3
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Bonsoir,
    A priori, ce type d'avertissement s'est produit parce que le répertoire de destination 'avatar' n'existait pas.
    Fred

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 54
    Points : 72
    Points
    72
    Par défaut
    Le dossier existait déjà, mais pour voir les fichiers via Filezila je devais faire cette manip :

    Menu Filezila -> Serveur -> Sélectionner: Forcer l'affichage des fichiers cachés

    Dans ce cas les fichiers uploadés s'affichent directement, en espérant que ca en aide d'autres

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/03/2010, 13h47
  2. Erreur php Warning: stream_socket_client()
    Par socket77 dans le forum Zend Framework
    Réponses: 1
    Dernier message: 12/07/2008, 15h30
  3. PHP Warning: include
    Par TangoZoulou dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2007, 11h20
  4. Réponses: 17
    Dernier message: 02/07/2006, 17h58
  5. Réponses: 1
    Dernier message: 09/06/2006, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo