0

仮想ホストでlaravelを使用してサーバーにファイルをアップロードする際に問題があります。

場合は次のとおりです。アップロードしようとすると、次のような絶対パスへのリンクがあります。

if ($file->move( 'laravel.dev/upload', $file->getClientOriginalName() )) {
                    echo 'uploaded';
                }

ファイルは正常にアップロードできますが、ホストである「laravel.dev」という名前のフォルダーが作成され、その中に「upload」という名前の別のフォルダーが作成されます。一方、コードを次のように設定した場合:

if ($file->move( asset('uploaded'), $file->getClientOriginalName() )) {
                    echo 'uploaded';
                }

次のエラーがスローされます。 Laravel エラー

私が達成したかったのは、「projectname/public/」パブリックフォルダーに作成した「upload」フォルダーにファイルを直接アップロードすることです。どうすればそれを達成できますか?

4

2 に答える 2

0

Juan が投稿したように、ファイル パスの代わりに URL パスを使用しています。Laravel には、この問題を解決するためのいくつかのパス ヘルパーがあります。

フォルダを選択したい場合は、public/uploadedを使用できますpublic_path().'/uploaded。のようなフォルダを選択したい場合はapp/storage/uploadedstorage_path().'/uploaded.

あなたの例では、次のコードを使用できます。

if ($file->move( public_path().'/uploaded', $file->getClientOriginalName() )) {
    echo 'uploaded';
}
于 2013-10-13T15:39:42.550 に答える