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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top