0

CakePHPを使用してWebアプリケーションを構築しています。meiouploadを使用して画像をアップロードしています。これらの画像は正常にアップロードされています。もちろん、admin-appとpublic-appを2つの別々のCakePHPアプリケーションに分けたいと思います。問題は、public-appのwebrootにアップロードされた画像をadmin-appのwebrootと共有できないことです。その逆も同様です。これらの画像を、これら2つのアプリの外部にある別のフォルダーにアップロードすることを考えています。私は正しい方向に進んでいますか?私がそうなら、どうすればこれを行うことができますか?

ありがとう。

4

2 に答える 2

1

1つの解決策は、スクリプトを変更して、両方のアプリケーションで表示できる「共有」ディレクトリに画像をアップロードすることです。または、LinuxのようなOSを使用している場合は、この共有ディレクトリをドキュメントルートの下に作成し、各アプリケーションが呼び出すディレクトリ間にシンボリックリンクを作成することができます。

したがって、APP1とAPP2は両方ともにアップロードでき/var/sharedStuffます。APP1はにあり/var/www/app1、APP2はにあり/var/www/app2ます。これらのアプリは両方とも、sharedStuffディレクトリにシンボリックリンクされたディレクトリを持つことができます。したがって/var/www/app1/app/webroot/img/shared/var/www/app2/app/webroot/img/shared両方とも内部的にを指し/var/sharedStuffます。次に、あたかもそれらがそのimg/sharedディレクトリに配置されているかのように、アプリケーションからこれらの画像を参照できます。繰り返しになりますが、アップロードスクリプトを変更して、ファイルが排他的なディレクトリではなく、この共有ディレクトリ(またはシンボリックリンク)にアップロードされるようにする必要があります。

ちなみに、CakePHPには、独自の管理インターフェースを作成するための機能が組み込まれています。そこには多くのチュートリアルがあります。ただグーグル検索。それらを2つのアプリケーションに分離することは、理想的とは言えません。

于 2011-06-09T18:21:59.903 に答える
0

meiouploadを使用すると、相対パスを使用できることが判明したので、次のようにします。

public $actsAs = array(
    'MeioUpload' => array(
        'filename' => array(
            'dir' => '../../../path/to/outside/webroot',
            'create_directory' => true,
        )
    )
);
于 2011-06-21T03:17:33.700 に答える