0
私は、あるユーザアカウントから別のユーザアカウントフォルダにファイルをコピーまたは書き込む方法を設定しようとしています。ここに例がありますcpanelは別のユーザフォルダにファイルを書き込むことを許可します
<?php
copy('texttest.txt','/home/username/public_html/domain.com/texttest.txt');
?>
私は許可が拒否されました。私はApacheのmod_userdir保護を無効にしました。フォルダからファイルにアクセスできますが、フォルダに書き込むことはできません。私は非cURLまたはCronの方法を探しています。これは単にcopy()やmove_uploaded_file()のようなものを使うだけです。誰でもこれを使用して権限や提案を設定できますか?
そのない、本当にPHPの問題は、フォルダのために、バインドマウントを行うことができますLinuxの場合。 http://unix.stackexchange.com/questions/198590/what-is-a-bind-mount – ArtisticPhoenix
あなたのソリューションはアップロード時には機能しますが、名前を変更するにはrename()関数を使用する必要があるため、アクセスが必要でした。他のユーザーディレクトリのファイル。なぜなら私の現在のユーザーディレクトリにはないファイルがいくつかあるからです。あなたの提案は何ですか? – Motsim
両方のユーザを同じグループに追加してから、 'chgrp()'を使ってファイルをグループにします(rootでなければならないかもしれません)。ファイルにアクセスできます。 http://php.net/manual/en/function.chgrp.phpとhttp://php.net/manual/en/function.chown.php、php cantが 'chgrp'を実行できない場合、あなたは公衆を変更しなければならないかもしれません私は最後の手段としてこれを行うだけです。これは、サイトのWebrootの外部にある場合は大丈夫です。なぜなら、そのフォルダを含むフォルダはまだ公開されていないからです。 – ArtisticPhoenix