6

サーバーに 755 のアクセス許可を持つ Video フォルダーがあります。問題は、誰かが動画ファイルをアップロードしようとすると、許可エラーのためにそのフォルダーにアップロードできないことです。

権限を 777 に変更すると、動画をアップロードできます。しかし、セキュリティ上の理由から、フォルダーのアクセス許可を 777 に許可したくありません。

ビデオのアップロード中に、PHP でパーミッションを一時的に 777 に変更する方法はありますか?

4

5 に答える 5

20

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)

于 2013-03-05T08:29:27.893 に答える
4

方法はありますが (PHP が提供するchmod機能)、PHP はフォルダーの所有者ではないため、パーミッションを変更することはできません。そして、あなたは間違った問題を解決していると思います。webserver と PHP を同じグループに追加し、フォルダーに 775 を指定します。

于 2013-03-05T08:29:50.700 に答える
2

次のように、アップロードの構成を初期化する必要があります。

$config['remove_spaces'] = FALSE;
$config['upload_path'] = $path;
$this->upload->initialize($config);
$this->load->library('upload', $config);   
于 2013-12-06T06:44:01.693 に答える
1

機能を使用できchmod()ます。

詳細については、こちらをお試しください

于 2013-03-05T08:30:42.573 に答える