Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function CadastraImagens() {
- //Função de Upload de Imagens
- if (isset($this->data['bt_cad_imagens'])) {
- $explode = explode('/', $this->data['arquivo']);
- $this->data['id_dirs'] = $explode[0]; // chave zero e o id
- $this->data['galeria'] = $explode[1]; // chave um e diretorio
- //$this->data['nome_final'] = $this->_RemoverAcentos(strtolower($_FILES['arquivo']['name']));
- //Pasta onde o arquivo vai ser salvo
- $_UP['pasta'] = 'medias/images/'.$this->data['id'].'/'.$this->data['galeria'];
- //Tamanho máximo de arquivos em bytes
- $_UP['tamanho'] = 4000 * 4000 * 2;
- //Array com extensões permitidas
- $_UP['extensoes'] = array('jpg', 'jpeg', 'gif', 'png');
- //se for true, o arquivo será salvo em jpg com um nome único
- $_UP['renomeia'] = false;
- //Array com os tipos de erros
- $_UP['erros'][0] = 'Não houve erro';
- $_UP['erros'][1] = 'O arquivo do upload é maior do que o limite do PHP';
- $_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especificado no HTML';
- $_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
- $_UP['erros'][4] = 'Não houve upload';
- //Verifica se houve algum erro com o upload. Se sim, exibe a mensagem de erro
- if($_FILES['arquivo']['error'] != 0){
- die('Não foi possível realizar o upload, erro:<br />'.$_UP['erros'][$_FILES['arquivo']['error']]);
- exit; // Para a execução do script.
- }
- //Caso não tenha ocorrido nenhum erro, o script continua a sua execução a partir daqui.
- //Faz a verificação da extensão do arquivos
- $extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));
- if(array_search($extensao, $_UP['extensoes']) === false){
- echo '<script>
- alert("Selecione apenas imagens com extensão: JPG, JPEG, GIF ou PNG");
- history.go(-1);
- </script>';
- }
- //Faz verificação do tamanho do arquivo
- else if($_UP['tamanho'] < $_FILES['arquivo']['size']){
- echo '<script>
- alert("O arquivo selecionado é muito grande.");
- history.go(-1);
- </script>';
- }
- //O arquivo passou por todas as verificações, prossegue com o código
- else{
- //Verifica se deve trocar o nome
- if($_UP['renomeia'] == true){
- //Renomeia a imagem, baseado no UNIX TIMESTAMP e muda a extensão para jpg
- $this->data['nome_final'] = time().'.jpg';
- }
- else{
- $this->data['nome_final'] = $_FILES['arquivo']['name'];
- }
- //Depois da verificação de nome, verifica se é possível mover o arquivo para a pasta
- if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'].$this->data['nome_final'])){
- //Upload efetuado, exibe a mensagem de sucesso
- echo '<script>
- alert("Upload realizado com sucesso.");
- </script>';
- }
- //Verifica se não foi possível enviar o arquivo e exibe mensagem
- else{
- echo '<script>
- alert("Não foi possível enviar a imagem.");
- history.go(-1);
- </script>';
- }
- }
- $sql = 'INSERT INTO imagens(imagem, nome_final, id_galeria) VALUES(?, ?)';
- $data = array(
- $_FILES['arquivo']['name'],
- $this->data['nome_final'],
- $this->data['id_dirs']
- );
- if (Banco::Instanciar()->Executar($sql, $data)) {
- echo'<script>
- alert("Upload realizado com sucesso!");
- </script>';
- } else {
- echo'<script>
- alert("Não foi possível realizar o upload!");
- </script>';
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment