私はDebian Jessieマシンでapache2ウェブサーバーをセットアップしました。 http://php.net/manual/en/function.move-uploaded-file.phpの後に、PHPスクリプトを使用してサーバーにファイルをアップロードしています。Linux Apache/PHPファイルアップロード:move_uploaded_fileでエラーが発生する
ファイルのアップロードを有効にするために/etc/php/apache/php.iniを設定しました。ファイルをうまくアップロードできます。
私は0664.として設定権限を持っているためにアップロードされたファイルは、スタックオーバーフローの上に周り読んたいでは/ etc/apache2の/ envvarsが、私はPHPインタプリタのumaskを設定しなければならないと考えているumask 002
を行っていますファイルアップロードディレクトリの所有権とアクセス権は、www-data:www-data 770(つまりApacheユーザー)に設定されています。
ただし、move_uploaded_fileを使用して一時PHPファイルをアップロードディレクトリに移動すると、ファイルのアクセス許可は600になります。つまり、グループのアクセス許可は保持されません。
誰かが間違っている可能性のあるアイデアは誰でも提供できますか?
以下のコメントに続いて、私は移動ファイルに0664のアクセス許可を持たせたいと述べたはずです。
chmod($_FILES['file']['tmp_name'], 0664);
rename($_FILES['file']['tmp_name'], $new_filename);
そして、この:
私もこの試みた
chmod($_FILES['file']['tmp_name'], 0664);
copy($_FILES['file']['tmp_name'], $new_filename);
しかし、これは動作しませんでしたが、私はまだ移動したファイルの両方のケースで0600を取得します。
0664の権限を持つには、移動したファイルが必要です。詳細は私の質問編集をご覧ください。 – user12066