Laravel 4 Laravel 4-没有可用的猜测者问题
我得到这个错误:LogicException:无法猜测mime类型,因为在尝试上载图像时没有可用的猜测器(是否启用了php_fileinfo扩展?)。 我已经启用了php_fileinfo扩展,并且重新启动了wampweb服务器,但是我仍然无法解决这个问题。我错过了什么?谢谢 以下是我的代码: 模型:Product.phpLaravel 4 Laravel 4-没有可用的猜测者问题,laravel-4,wamp,mime,fileinfo,Laravel 4,Wamp,Mime,Fileinfo,我得到这个错误:LogicException:无法猜测mime类型,因为在尝试上载图像时没有可用的猜测器(是否启用了php_fileinfo扩展?)。 我已经启用了php_fileinfo扩展,并且重新启动了wampweb服务器,但是我仍然无法解决这个问题。我错过了什么?谢谢 以下是我的代码: 模型:Product.php class Product extends Eloquent { protected $fillable = array('category_id', 'title', '
class Product extends Eloquent {
protected $fillable = array('category_id', 'title', 'description', 'price', 'availability', 'image');
public static $rules = array(
'category_id'=>'required|integer',
'title'=>'required|min:2',
'description'=>'required|min:20',
'price'=>'required|numeric',
'availability'=>'integer',
'image'=>'required|image|mimes:jpeg,jpg,bmp,png,gif|max:3000',
);
public function category() {
return $this->belongsTo('Category');
}
}
控制器:ProductsController.php
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();
Image::make($image->getRealPath())->resize(468,249)->save('public/img/products/'.$filename);
$product->image = 'img/products/'.$filename;
$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();
}
视图:Index.blade.php
{{ Form::open(array('url'=>'admin/products/create', 'files'=>true)) }}
<p>
{{ Form::label('category_id', 'Category') }}
{{ Form::select('category_id', $categories) }}
</p>
<p>
{{ Form::label('title') }}
{{ Form::text('title') }}
</p>
<p>
{{ Form::label('description') }}
{{ Form::textarea('description') }}
</p>
<p>
{{ Form::label('price') }}
{{ Form::text('price', null, array('class'=>'form-price')) }}
</p>
<p>
{{ Form::label('image', 'Choose an image') }}
{{ Form::file('image') }}
</p>
{{ Form::submit('Create Product', array('class'=>'secondary-cart-btn')) }}
{{ Form::close() }}
{{Form::open(数组('url'=>'admin/products/create','files'=>true))}
{{Form::label('category_id','category')}
{{Form::select('category_id',$categories)}
{{Form::label('title')}
{{Form::text('title')}
{{Form::label('description')}
{{Form::textarea('description')}
{{Form::label('price')}
{{Form::text('price',null,array('class'=>'Form-price'))}
{{Form::label('image','Choose an image')}
{{Form::file('image')}
{{Form::submit('Create Product',array('class'=>'secondary-cart-btn'))}
{{Form::close()}}
我认为这是WAMP Web服务器的缺陷。我切换到XAMPP Web服务器,它工作正常
顺便说一下,非常感谢。将php.ini中的这一行取消注释到php文件夹中 extension=php_fileinfo.dll
然后重新启动服务器(再次输入“php artisan serve”)。这样行得通 打开php.ini文件,您可以找到;extension=php_fileinfo.dll删除分号到extension=php_fileinfo.dll将正常工作,然后重新启动apache服务器或xampp、wampp,无论您使用什么环境,请尝试更改php配置中的上载文件大小限制file@edvinas.me您提到的文件大小限制是上载\最大\文件大小?我将其设置为大值上传\u max\u filesize=200M,但仍然无法解决此问题。有点奇怪。你在代码中设置了哑剧吗?像这样:
'file'=>“mimes:jpeg、bmp、png | max:3000”
。在没有看到代码的情况下,很难提供任何进一步的建议。嗨,谢谢回复!我已经添加了部分代码。我添加了模仿的规则。有什么建议吗?有人能帮我解释一下吗?谢谢运行XAMPP-Worked for meI可以确认取消注释extension=php_fileinfo.dll
为我在WAMP上工作,谢谢你sirFYKI,我对XAMPP有问题,我从XAMPP/php/php.ini文件的行扩展名=php_fileinfo.dll中删除了注释,然后重新启动apache,它对我有效。谢谢@Unfragile,这就是问题所在。