Permission d'un fichier envoyé : php

Résolu
Bonjour,
J'ai un petit soucis, quand j'uppload mon image avec mon formulaire, l'image se met avec en permissions : 600.
(Vu avec filezilla). Mais j'aimerais qu'il se met en fichier normale c'est à dire : 605. Comment faire ????

Voici le code php de mon upload :
<?php
if( isset($_POST['upload']) ) // si formulaire soumis
{
  if( isset($_GET['id']) ) 
  {
  $id = $_GET['id'];
  $content_dir = 'upload/'; // dossier où sera déplacé le fichier
  $tmp_file = $_FILES['fichier']['tmp_name'];
  if( is_uploaded_file($tmp_file) )
  {
    $type_file = $_FILES['fichier']['type'];
    $allowed_types = array("image/bmp", "image/gif", "image/jpeg", "image/jpg",);
    if(in_array($type_file, $allowed_types))
    {
      $size = $_FILES['fichier']['size'];
      if($size < 30000)
      {
      // on copie le fichier dans le dossier de destination
      $name_file = $_FILES['fichier']['name'];
      $extension_image = strrchr(strtolower($name_file), '.');
      $name_filefin = $id.$extension_image;
        if( move_uploaded_file($tmp_file, $content_dir . $name_filefin) )
        {
        echo "Le fichier &agrave; bien &eacute;t&eacute; uploader";
        }else{echo "Impossible de copier le fichier"; }
      }else{echo "Votre image est sup&eacute;rieure &agrave; la taille maximale de 30 000 octets";}
    }else{echo "Le fichier n'est pas une image"; }
  }else{echo "Le fichier est introuvable"; }
}else{echo "Aucun n'article n'a &eacute;t&eacute; trouv&eacute;"; }
}else{echo "Merci de remplir le formulaire";}
?>


--
Lucas

7 réponses

  1. le dossier d'upload lui est en 777 ?
    La création d'un site commence par la réflexion de son devenir...
    0
    1. quand avec ton filezilla tu créés ton dossier d'uploads et que tu es sur la fenetre de modification des attributs du fichier, tu mets les permissions en 777 et en dessous tu clics sur la case récursion dans les sous dossiers et tu clics sur appliquer à tous les fichiers et dossiers... la prochaine photo qui viendra se placer en upload dans ce dossier aura les perms 777....
      La création d'un site commence par la réflexion de son devenir...
      0
      1. J'ai donc mis :

              $name_filefin = chmod(".$id.$extension_image.", 605);
                if( move_uploaded_file($tmp_file, $content_dir . $name_filefin) )
                {
                echo "Le fichier &agrave; bien &eacute;t&eacute; uploader";
                }else{echo "Impossible de copier le fichier"; }


        Mais sa ne fonctionne pas.
        Comment faire ?
        0
        1. Essaye tout simplement :
          if( move_uploaded_file($tmp_file, $content_dir . $name_filefin) )
          {
          chmod($content_dir . $name_filefin, 605);
          //Tu rajoutes un echo sit tu veux
          }
          0
          1. J'ai mis ceci :

            <?php
            if( isset($_POST['upload']) ) // si formulaire soumis
            {
              if( isset($_GET['id']) ) 
              {
              $id = $_GET['id'];
              $content_dir = 'upload/'; // dossier où sera déplacé le fichier
              $tmp_file = $_FILES['fichier']['tmp_name'];
              if( is_uploaded_file($tmp_file) )
              {
                $type_file = $_FILES['fichier']['type'];
                $allowed_types = array("image/bmp", "image/gif", "image/jpeg", "image/jpg",);
                if(in_array($type_file, $allowed_types))
                {
                  $size = $_FILES['fichier']['size'];
                  if($size < 30000)
                  {
                  // on copie le fichier dans le dossier de destination
                  $name_file = $_FILES['fichier']['name'];
                  $extension_image = strrchr(strtolower($name_file), '.');
                  $name_filefin = $id.$extension_image;
                    if( move_uploaded_file($tmp_file, $content_dir . $name_filefin) )
                    {
                    $action = 1;
                    }else{echo "Impossible de copier le fichier"; }
                  }else{echo "Votre image est sup&eacute;rieure &agrave; la taille maximale de 30 000 octets";}
                }else{echo "Le fichier n'est pas une image"; }
              }else{echo "Le fichier est introuvable"; }
            }else{echo "Aucun n'article n'a &eacute;t&eacute; trouv&eacute;"; }
            }else{echo "Merci de remplir le formulaire";}
            if ($action == 1)
            {
              $chmod = chmod($content_dir . $name_filefin, 605);
              if ($chmod == true)
              {
                echo "Le fichier &agrave; bien &eacute;t&eacute; uploader";
              }
              else
              {
                echo "Erreur";
              }
            }
            else
            {
              echo "Erreur";
            }


            Sa fonctionne sauf que il me fait un chmod en 135
            0