Permission d'un fichier envoyé : php
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
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 :
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 à bien été uploader"; }else{echo "Impossible de copier le fichier"; } }else{echo "Votre image est supérieure à 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 été trouvé"; } }else{echo "Merci de remplir le formulaire";} ?>
A voir également:
- Permission d'un fichier envoyé : php
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
7 réponses
le dossier d'upload lui est en 777 ?
La création d'un site commence par la réflexion de son devenir...
La création d'un site commence par la réflexion de son devenir...
Tu fais un chmod() pour changer les droits de ton image exemple :
chmod("mon_image.jpg", 777);
Regarde ici -> https://www.php.net/manual/fr/function.chmod.php
chmod("mon_image.jpg", 777);
Regarde ici -> https://www.php.net/manual/fr/function.chmod.php
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...
La création d'un site commence par la réflexion de son devenir...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai donc mis :
Mais sa ne fonctionne pas.
Comment faire ?
$name_filefin = chmod(".$id.$extension_image.", 605); if( move_uploaded_file($tmp_file, $content_dir . $name_filefin) ) { echo "Le fichier à bien été uploader"; }else{echo "Impossible de copier le fichier"; }
Mais sa ne fonctionne pas.
Comment faire ?
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 }
J'ai mis ceci :
Sa fonctionne sauf que il me fait un chmod en 135
<?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érieure à 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 été trouvé"; } }else{echo "Merci de remplir le formulaire";} if ($action == 1) { $chmod = chmod($content_dir . $name_filefin, 605); if ($chmod == true) { echo "Le fichier à bien été uploader"; } else { echo "Erreur"; } } else { echo "Erreur"; }
Sa fonctionne sauf que il me fait un chmod en 135