2011-09-21 3 views
3

J'ai une application que je transfère vers un nouveau serveur. Ce faisant, la fonctionnalité de téléchargement pour les comptes clients a cessé de fonctionner parce que le propriétaire des dossiers était 'ftp' et non 'apache' je l'ai résolu en renommant le dossier et en utilisant une fonction de copie d'annuaire que j'ai copiée et collée nouveau dossier avec le nom correct et tout était cool après cela.PHP & Permissions

Ma question est la suivante: est-ce que php peut changer la propriété d'un dossier ou de fichiers?

Répondre

4

Oui, php peut changer la propriété d'un fichier. Utilisez chown($file, $user). Vous pouvez écrire un script récursif simple pour changer de propriétaire pour chaque fichier en utilisant chown.

+0

ahh Je pensais que chown vous venez de dire le propriétaire. Je ne sais pas comment j'ai réussi à arriver à cette conclusion. Je vous remercie. –

+0

Bien sûr, ça me fait attendre en ce moment. Bon travail, vous l'avez mentionné cependant parce que c'est ma première question que j'aurais probablement oublié. –

+0

Content d'avoir aidé! – Cyclone

2

Oui, dans la mesure où l'utilisateur sous lequel il s'exécute a les autorisations pour le faire.

Vous pouvez utiliser la fonction chown ou envelopper la commande shell dans un appel exec pour le faire de façon récursive sans avoir besoin de programmer que, comme dans

exec('chown -R user <your-dir>'); 
+0

C'est probablement le meilleur moyen mais j'étais sur un nouveau serveur; Je travaillais encore là où tout était. –