サーバーに 755 のアクセス許可を持つ Video フォルダーがあります。問題は、誰かが動画ファイルをアップロードしようとすると、許可エラーのためにそのフォルダーにアップロードできないことです。
権限を 777 に変更すると、動画をアップロードできます。しかし、セキュリティ上の理由から、フォルダーのアクセス許可を 777 に許可したくありません。
ビデオのアップロード中に、PHP でパーミッションを一時的に 777 に変更する方法はありますか?
サーバーに 755 のアクセス許可を持つ Video フォルダーがあります。問題は、誰かが動画ファイルをアップロードしようとすると、許可エラーのためにそのフォルダーにアップロードできないことです。
権限を 777 に変更すると、動画をアップロードできます。しかし、セキュリティ上の理由から、フォルダーのアクセス許可を 777 に許可したくありません。
ビデオのアップロード中に、PHP でパーミッションを一時的に 777 に変更する方法はありますか?
PHP はchmod()
、タスクのために関数を提供します。
指定されたファイルのモードを mode で指定されたモードに変更しようとします。
ステートメントに入れることができif
、false を返す場合は、アップロード ファイルの部分をスキップできます。
使用法は次のようになります
if( chmod($path, 0777) ) {
// more code
chmod($path, 0755);
}
else
echo "Couldn't do it.";
chmod function manualで説明されているように、$mode
は 8 進形式でなければなりません。chmod($path, 0777)
方法はありますが (PHP が提供するchmod
機能)、PHP はフォルダーの所有者ではないため、パーミッションを変更することはできません。そして、あなたは間違った問題を解決していると思います。webserver と PHP を同じグループに追加し、フォルダーに 775 を指定します。
次のように、アップロードの構成を初期化する必要があります。
$config['remove_spaces'] = FALSE;
$config['upload_path'] = $path;
$this->upload->initialize($config);
$this->load->library('upload', $config);
機能を使用できchmod()
ます。
詳細については、こちらをお試しください