Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Renomear arquivo após upload

$
0
0

Tem um sistema que usa a classe que segue o link

que funciona bem principalmente por causa do redimencionamento e da marca d'água porém não consigo renomear os arquivos.

O problema é que o pessoal manda com acento, ç e espaços e da erro depois.

 

O trecho do código que recebe o formulário:

		// Verifica se algo foi enviado
		if ( (isset($_FILES['userfile'])) && (!empty($_FILES['userfile'])) ) {
			// Configura as variáveis
			$imagens         = $_FILES['userfile'];
			$nomes_imagens   = $imagens['name'];
			$tipos_imagens   = $imagens['type'];
			$tmp_imagens     = $imagens['tmp_name'];
			$erro_imagens    = $imagens['error'];
			$tamanho_imagens = $imagens['size'];
			
			// Os mime types permitidos
			$permitir_tipos  = array(
				'image/bmp', 
				'image/x-windows-bmp', 
				'image/gif', 
				'image/jpeg', 
				'image/pjpeg',
				'image/png',
			);
			
			// Verifica se a variável de erro contém um array
			if ( ! is_array( $erro_imagens ) ) {
				exit('Nada enviado!');
			}

			// O laço 
			for ( $i = 0; $i < count( $erro_imagens ); $i++ ) {
			
				// Verifica se ocorreu algum erro
				if ( $erro_imagens[$i] != 0 ) {
				
					// Mostra o erro
					echo 'Erro ao enviar imagem ' . $nomes_imagens[$i];
				
				} else {

					// Verifica se os mime types estão entre os permitidos
					if ( in_array( $tipos_imagens[$i], $permitir_tipos ) ) {

						require('canvas.php');
						$img = new canvas();

						$img->carrega($tmp_imagens[$i])->redimensiona(650,'','')->grava($dir.$nomes_imagens[$i], 70);
						
						$img->carrega($dir.$nomes_imagens[$i])->marca( '../uploads/marca-dagua/'.$clprime.'/'.$config[marca_dagua], 'baixo', 'direita' )->grava($dir.$nomes_imagens[$i]);
						$img->carrega($dir.$nomes_imagens[$i])->grava($dir.$nomes_imagens[$i]);
					
					} else {
						
						// Mostra o erro de tipos
						echo 'Envie apenas imagens.';
					
					} // Fim dos tipos permitidos
					
				} // Fim - Verifica se ocorreu algum erro
				
			echo $nomes_imagens[$i];
			echo "<br/>";
			
			} // Fim - O laço
			
			echo "Upload realizado com sucesso de ".(count($_FILES['userfile']['name']))." foto(s)";
			
		} // Fim - Verifica se algo foi enviado

Está fazendo tudo certinho porém não consigo renomear as fotos para algo como:

de nome-foto.jpg para 86311bba614f54abb0e4b7be0be.jpg

 

Quem puder me ajudar sem precisar trocar essa classe agradeço.

Mas aceito outras sugestões se não for muito complicado pra mudar pode até ser outra classe.

 

Grato.

 

 


Viewing all articles
Browse latest Browse all 14190