Intervenção \ Image \ Exception \ NotReadableException usando laravel 4

Estou usando Laravel 4 e eu instalei o pacote Image Intervention . Quando eu estou usando isso em meu código com método> resize, -> mover etc etc etc … Eu tenho esse erro:

Intervention \ Image \ Exception \ NotReadableException 

Fonte de imagem não legível

 open: /Applications/MAMP/htdocs/myNameProject/vendor/intervention/image/src/Intervention/Image/AbstractSource.php break; case $this->isFilePath(): return $this->initFromPath($this->data); break; default: throw new Exception\NotReadableException("Image source not readable"); break; } 

Também estou usando MAMP e Sublime Text 3 no MAC OS se isso pudesse ajudá-lo.

Este é o meu código no meu controlador:

 public function upload() { //***** UPLOAD FILE (on server it's an image but an Url in Database *****// // get the input file $file = Image::make('url_Avatar'); //set a register path to the uploaded file $destinationPath = public_path().'upload/'; //have client extension loaded file and set a random name to the uploaded file, produce a random string of length 32 made up of alphanumeric characters [a-zA-z0-9] $filename = $destinationPath . '' . str_random(32) . '.' . $file->getClientOriginalExtension(); //$file->move($destinationPath,$filename); //set $file in order to resize the format and save as an url in database $file= Image::make($image->getRealPath())->resize('200','200')->save('upload/'.$filename); //*****VALIDATORS INPUTS and RULES***** $inputs = Input::all(); $rules = array( 'pseudo' => 'required|between:1,64|unique:profile,pseudo', //urlAvatar is an url in database but we register as an image on the server 'url_Avatar' => 'required|image|min:1', ); 

(Não mostro o redirecionamento da minha visão, mas funcionou bem para esta seção do meu controlador)

aqui está o meu código de formulário (usando o modelo blade laravel):

 @extends('layout.default') @section('title') Name Of My Project - EditProfile @stop @section('content') {{Form::open(array('url'=>'uploadAvatar','files' => true))}} 

{{Form::label('pseudo','pseudo (*): ')}} {{Form::text('pseudo',Input::old('nom'))}}

@if ($errors->has('pseudo'))

{{ $errors->first('pseudo')}}

@endif

{{Form::label('url_Avatar','Avatar: ')}} {{Form::file('url_Avatar',Input::old('Url_Avatar'))}}

@if ($errors->has('url_Avatar'))

{{ $errors->first('url_Avatar')}}

@endif

{{Form::submit('Validate your avatar')}}

{{Form::close()}} @stop

Claro que eu instalei o pacote Image Intervention seguindo a imagem do site oficial.intervention.io/getting_started/installation (url).

Como posso tornar meu arquivo “legível”? ou resolver esse erro?

Mude isso:

 $file = Image::make('url_Avatar'); 

Para isso:

 $file = Input::file('url_Avatar'); // ... $filename = '...'; Image::make($file->getRealPath())->resize('200','200')->save($filename); 

Leia mais sobre o arquivo na documentação do Laravel .

se você usar uma subpasta em seu caminho público, use chmod para alterar a permissão nessa pasta, por exemplo, cd public; chmod -Rv 755 public/{your_path_name}; cd public; chmod -Rv 755 public/{your_path_name};

Corre

 man chmod; 

para mais detalhes

isso em solução

 $filename = str_slug($products->name)."-0.jpg"; $filename_fb = 'fb-'.$filename; $filename_tw = 'tw-'.$filename; $img = Image::make($_FILES['photo']['tmp_name']); // resize image $img->resize(800, 400); // save image $img->save($path.'/'.$filename); 

Eu tenho o mesmo problema. Quando mudo o driver da imagem, tudo funciona bem.

Tente alterar o driver de imagem de app / config / packages / intervention / image / config.php de GD para Imagick

Se você não conseguir encontrar o arquivo de configuração, tente executar os comandos abaixo:

Configuração de publicação em Laravel 5

$ php artisan vendor: publish –provider = “Intervention \ Image \ ImageServiceProviderLaravel5”

Configuração de publicação em Laravel 4

$ php artisan config: publicar intervenção / imagem

Exemplo de conteúdo do arquivo de configuração:

 return array( /* |-------------------------------------------------------------------------- | Image Driver |-------------------------------------------------------------------------- | | Intervention Image supports "GD Library" and "Imagick" to process images | internally. You may choose one of them according to your PHP | configuration. By default PHP's "GD Library" implementation is used. | | Supported: "gd", "imagick" | */ 'driver' => 'imagick' );