Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou com um problema para implementar uma função de PHP que tira a acentuação e espaços do nome da imagem.
Meu código que fiz é esse:
$file = $_FILES['Filedata'];
$album = (int) $_POST['id'];
$filename = $file['name'];
function retirar_acentos($string){
$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿRr';
$b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
$string = utf8_decode($string);
$string = strtr($string, utf8_decode($a), $B); // Retira os Acentos das Letras.
$string = str_replace(" ","-",$string); // Retira os Espaços.
$string = strtolower($string); // Transforma tudo para Minúsculo.
return utf8_encode($string); // Retorna a String transformada
}
$query = "INSERT INTO albums_photos (album, file) VALUES ('$album', '$filename')";
mysql_query($query);
$path = $file['tmp_name'];
$new_path = "../../uploads/".$filename;
move_uploaded_file($path, $new_path);
// Vamos usar a biblioteca WideImage para o redimensionamento das imagens
require("../../lib/WideImage/WideImage.php");
// Carrega a imagem enviada
$original = WideImage::load($new_path);
// Redimensiona a imagem original para 1024x768 caso ela seja maior que isto e salva
$original->resize(500, 375, 'inside', 'down')->saveToFile(retirar_acentos($new_path), null, 90);
// Cria a miniatura
$ext = end(explode(".", $new_path)); // Pega a extensão do arquivo
$thumb = str_replace(".$ext", "_thumb.$ext", $new_path); // Substitui a extensão
$original->resize(120, 90, 'inside', 'down')->saveToFile(retirar_acentos($thumb), null, 90); // Redimensiona e salva
echo mysql_insert_id(); // Retorna o id da foto
Eu estou chamando a função retirar_acentos nessas duas linhas, mais não esta fazendo nada no nome da imagem:
// Redimensiona a imagem original para 1024x768 caso ela seja maior que isto e salva
$original->resize(500, 375, 'inside', 'down')->saveToFile(retirar_acentos($new_path), null, 90);
$original->resize(120, 90, 'inside', 'down')->saveToFile(retirar_acentos($thumb), null, 90); // Redimensiona e salva
Carregando comentários...