2014-04-14 13 views
9

Viene visualizzato questo errore: LogicException: Impossibile indovinare il tipo di mime in quanto non sono disponibili indovini (hai abilitato l'estensione php_fileinfo?) Mentre tentavi di caricare un'immagine. Ho abilitato l'estensione php_fileinfo e riavviato anche il server web Wamp ma non riesco ancora a risolverlo. Cosa mi manca? GrazieLaravel 4 - nessun problema di ricerca di indovinelli

Qui di seguito sono i miei codici:

Modelli: Product.php

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'); 
} 

}

Controllers: 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(); 
} 

Visualizzazioni: 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() }} 
+0

prova a cambiare il limite di caricamento del file nel tuo file di configurazione php – phoops

+0

@ edvinas.me Il limite di dimensione del file che hai menzionato è upload_max_filesize? L'ho impostato su grande valore upload_max_filesize = 200M ma non riesco ancora a risolverlo. Un po strano. – user3227412

+0

Imposta mimi nel tuo codice? così: ''file' => 'mimi: jpeg, bmp, png | max: 3000''. È difficile fornire ulteriori suggerimenti senza vedere il codice. – phoops

risposta

1

Penso che sia l'errore del server Web WAMP. Sono passato a XAMPP Web Server e funziona perfettamente.

Grazie mille a proposito.

+1

FYKI, Ho avuto problemi con XAMPP, ho rimosso il commento dall'estensione della riga del file xampp/php.ini = php_fileinfo.dll e riavviato Apache, ha funzionato per me. –

+1

Grazie a @Unfragile, questo è il problema. – Codebeat

25

decommentare questa riga in php.ini nella cartella php.

extension = php_fileinfo.dll

e riavviare il server (immettere 'php artigianale servire' di nuovo). In questo modo funzionerà!

+0

Esecuzione di XAMPP - Ha funzionato per me – Vigs

+0

Posso confermare la decompressione 'extension = php_fileinfo.dll 'ha funzionato su WAMP per me, grazie signore – haakym

5

Aprire il file php.ini e si possono trovare; extension = php_fileinfo.dll rimuovere il semi-colonnina di estensione = php_fileinfo.dll funziona perfettamente quindi riavviare il server Apache o XAMPP, WAMPP qualsiasi ambiente che si sta utilizzando