Je cours PHP 5.2.6 sur une boîte Windows Server 2003 Enterprise. IIS est configuré pour refuser l'accès anonyme et utiliser l'authentification Windows intégrée. J'utilise un script PHP pour enregistrer un fichier téléchargé à partir d'un formulaire Web. Le fichier est téléchargé dans un dossier temporaire, le script crée un nom de fichier et un chemin en fonction des autres variables du formulaire Web, puis le script utilise le déplacement de PHP _ uploadé pour déposer le fichier temporaire à l'emplacement final. Tout ça fonctionne bien. En bref, les utilisateurs téléchargent des fichiers afin que tous les membres du groupe puissent les voir et que les fichiers soient organisés par le script.Permissions impaires sur le fichier modifié par PHP move_uploaded_file()
Mon problème est que le fichier à l'emplacement final a des permissions impaires. Il ne se termine pas avec des autorisations de l'emplacement temporaire ou de l'emplacement final. L'emplacement temporaire et l'emplacement final ont tous deux les mêmes autorisations: droits complets pour le propriétaire et les administrations; lire et lire/exécuter pour 2 groupes de sécurité AD spécifiques. Le fichier final se termine avec seulement: des droits complets pour le propriétaire et les administrations. Ainsi, alors que les administrateurs et le téléchargeur d'origine n'ont aucun problème à visualiser le fichier, tous les autres membres du groupe obtiennent une «autorisation refusée» lorsqu'ils essaient d'y accéder.
Toutes les idées ou suggestions seront grandement appréciées! Merci!
Cela a fonctionné. Merci! – user13414
Pas de problème, content de pouvoir aider. –
Il serait sage de vérifier que is_uploaded_file() renvoie true sur le fichier temporaire si vous utilisez copy(), car move_uploaded_file() implémente cette vérification –