1

laravel 4.2で介入サービスプロバイダーを使用して画像をアップロードするときにいくつかの問題に直面しています

エラー - イメージ データをパスに書き込めません。

-Googleとstackoverflowで検索して解決しようとしましたが、問題はまだ解決されていません。そのディレクトリが書き込み可能な mod に含まれていない可能性があります。git bashとCygwinターミナルも使用して、Windows 7でディレクトリ「public/img/products/」書き込み可能なmodを作成するにはどうすればよいですか

私の製品コントローラの作成方法 -

public function postCreate() {
    $validator = Validator::make(Input::all(), Product::$rules);

    if ($validator->passes()) {
        $product = new Product;
        $product->category_id = Input::get('category_id');
        $product->title = Input::get('title');
        $product->description = Input::get('description');
        $product->price = Input::get('price');

        $image = Input::file('image');
        $filename = date('Y-m-d-H:i:s')."-".$image->getClientOriginalName();
        $path = public_path('img/products/' . $filename);
        Image::make($image->getRealPath())->resize(468, 249)->save($path);
        $product->image = 'img/products/';
        $product->save();

        return Redirect::to('admin/products/index')
            ->with('message', 'Product Created');
    }

    return Redirect::to('admin/products/index')
        ->with('message', 'Something went wrong')
        ->withErrors($validator)
        ->withInput();
}
4

2 に答える 2

2

これは古いスレッドですが。
Windows ファイル名には、文字として「:」(コロン) を含めることはできません。代わりに「-」(ダッシュ) または「_」(アンダースコア) を使用します。スペース(" ")でも構いません。
例:

$filename = date('Y-m-d-H_i_s')."-".$image->getClientOriginalName();

また

$filename = date('Y-m-d-H i s')."-".$image->getClientOriginalName();
于 2016-03-28T10:13:46.610 に答える
0

ディレクトリのアクセス権を変更する必要があります。

sudo chmod -R 777 public/img/products

于 2015-11-16T22:17:07.980 に答える