Insérer un fichier en Php

Résolu
vikyky Messages postés 6 Statut Membre -  
 issam -
Bonjour,

Je crée un site web en Php. J'aimerai que le client puisse m'envoyer un fichier. Pour cela j'utilise la fonction move_uploaded_file() .

Mais celle-ci ne marche pas. Croyez-vous que cela est du car je n'ai pas donné l'autorisation d'écriture, et si c'est le cas, comment puis-je la donner.

Cela est-il du à autre chose?
Merci de votre aide

Viky

4 réponses

  1. vikyky Messages postés 6 Statut Membre
     
    Je ne vois toujours pas où est mon erreur. J'envoie mon script ci-dessous.

    //dans ma page html
    
    <html>
    <HEAD> <title>Ajout fichier </title> </head>
    <body>
    
    <form method="post" action="inserer_fichier.php" enctype="multipart/form-data">
    Nom du fichier: 
    
    <input type="file" name="image" size="40">
    
    <br><input type="submit" name="ok">
    </form>
    </body>
    </html>
    
    
    //dans mon php inserer_fichier.php
    $uploaddir = '/images';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
    
    echo '<pre>';
    
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Le fichier est valide, et a été téléchargé 
    avec succès. \n";
    } else {
    echo "Attaque potentielle par téléchargement de fichiers. 
    \n";
    }
    
    ?>
    
    
    </body>
    </html>


    il n'y a pas d'erreur retourné, mais lorsque je vérifie que le fichier a bien été copié, ce n'est pas le cas.

    Merci d'avance.

    Viky
    0
    1. pzuk Messages postés 19 Date d'inscription   Statut Membre 5
       
      Je n'ai pas lu le code mais je pense que le problème vient du fait que le php n'a pas le droit d'écrire sur le disque d'hebergement.

      Je m'explique : Il y a un systeme de permission en écriture et en lecture sur les serveurs. Cela s'appelle le CHMOD.
      Pour que PHP puisse écrire sur le serveur (donc enregistrer l'image, il faut un CHMOD à 777.
      Pour modifier le CHMOD il faut que tu cliques (droit) sur le fichier où tu vas enregistrer tes images, puis sur "attributs" et mettre le bon CHOMD.

      Voila j'espere ne pas avoir dit trop de conneries et que c'est ça ;
      0
      1. Viky > pzuk Messages postés 19 Date d'inscription   Statut Membre
         
        Salut,

        Je n'ai pas réussi à modifier le CHMOD. J'utilise free, et on dirait que ca se gère automatiquement. Par contre j'ai enfin réussi à mettre mon fichier dans mon répertoire. J'ai utilisé la fonction copy(). Je n'ai pas réussi à faire fonctionner move_uploaded_file() ... et pourtant c'est presque la même chose. Enfin merci pour ton aide.

        Viky
        0
  2. YoY
     
    Free est un hebergeur particulier, malheureusement, il n'autorise pas la modification du CHMOD.
    Si tu veux continuer, je te conseil de prendre un autre hébergeur.
    0
  3. Vikyky
     
    Il est possible de modifier le CHMOD, via un logiciel comme Fizella. Je me connecte tout simplement à mon espace perso, et via le logiciel je change les droits pour mes différents répertoires. C'est une solution à réaliser "manuellement"

    Vik
    0
    1. issam
       
      Tu veux parler de FileZilla ? Et bien même en modifiant les attributs, t'as une réponse du serveur disant que la commande CHMOD n'est pas connue.
      Mais le problème ce n'est pas que le serveur ne veuille pas que le fichier écrive sur le serveur, c'est que le fichier envoyé est trop grand par rapport à la valeur de MAX FILE SIZE dans index.html.

      En espérant que ça aide quelqu'un, désolé si ca fait chier que je remonte le topic :P
      0