Skip to content

Instantly share code, notes, and snippets.

@jlamim
Last active November 14, 2016 23:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jlamim/b597c57435f28bc2c8ad7d3710953cd8 to your computer and use it in GitHub Desktop.
Save jlamim/b597c57435f28bc2c8ad7d3710953cd8 to your computer and use it in GitHub Desktop.
Criando um restserver com CodeIgniter - UploadImage
<?php
/**
* Executa o upload da imagem
* @param string $input_name nome do campo "file" no formulário
* @return array
*/
private function UploadImage($input_name)
{
// Carrega a biblioteca de upload
$this->load->library('upload');
// Define o path do diretório onde a imagem será armazenada
$path = './uploads/';
// Verifica se o o path é um diretórios
// caso não seja, então cria dando permissão de escrita
if (!is_dir($path)) {
mkdir($path, 0777, $recursive = true);
}
// Configurações para o upload da imagem
// Diretório para gravar a imagem
$configUpload['upload_path'] = $path;
// Tipos de imagem permitidos
$configUpload['allowed_types'] = 'jpg|jpeg|png';
// Usar nome de arquivo aleatório, ignorando o nome original do arquivo
$configUpload['encrypt_name'] = TRUE;
// Aplica as configurações e inicializa a biblioteca
$this->upload->initialize($configUpload);
// Verifica se o upload foi efetuado ou não
// Em caso de erro retorna a mensagem de erro
// Em caso de sucesso retorna a mensagem de sucesso
if ( !$this->upload->do_upload($input_name))
{
// Recupera as mensagens de erro e envia o usuário para a home
$data = array('error' => $this->upload->display_errors());
}
else
{
// Recupera os dados da imagem enviada
$data = array('error' => null, 'upload_data' => $this->upload->data());
}
return $data;
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment