Chmod 666 et refuser l'accès pour getimagesize
-
22-10-2019 - |
Question
Tout d'abord, ce n'est pas un doublon de: Permission refusée sur getimagesize
Je suis le code suivant, où je me suis assis un chmod
pour l'image, puis je wan't pour obtenir la taille de lui.
@chmod($path."/".$filename, '0666');
getimagesize($path . "/" . $filename);
Mais si je mets un chmod, je reçois ce message d'erreur:
pas flux ouvert: Autorisation refusée dans [...]
Quel est le problème? Tous les fichiers et le répertoire a le même groupe et propriétaire -. www-data
La solution
En fait, avez-vous vraiment besoin de chmod avant getimagesize?
si oui, u peut-être essayer de mettre umask avant chmod. quelque chose comme ça?
$old = umask(0);
chmod($path,0777);
umask($old);
Autres conseils
Essayez de mettre un / avant chemin. Pas sûr de php, mais je sais python wont ajouter le / initial à certaines opérations de chemin, il peut être la recherche d'un instad de chemin relatif absolu:
@chmod("/". $path."/".$filename, '0666');
getimagesize("/". $path . "/" . $filename);
Tout d'abord, chmod
ne réussira pas (l'autorisation sera refusée, peut-être l'erreur que vous obtenez est de chmod?) Si www-data
(en supposant que est l'utilisateur de votre serveur Web) ne dispose pas d'un accès en écriture au $path
répertoire. Assurez-vous www-data
a lecture l'autorisation à tous les répertoires parents de $path
et écriture à l'autorisation $path
.
En outre, assurez-vous d'utiliser des chemins absolus, aussi bien dans chmod
et getimagesize
.