tengo una pagina en la cual subo unos videos y luego los convierto a flv con ffmpeg el problema es que si no le quito los acentos me aparecen unos caracteres raros y a la hora de cojerlos el ffmpeg me dice que no existe el archivo.
he intentado quitarlos con las siguientes funciones:
Código PHP:
function elimina_acentos($cadena){
$tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ()";
$replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn__";
return(strtr($cadena,$tofind,$replac));
}
Código PHP:
function elimina_acentos($s){
$s = ereg_replace("[áàâãª]","a",$s);
$s = ereg_replace("[ÁÀÂÃ]","A",$s);
$s = ereg_replace("[ÍÌÎ]","I",$s);
$s = ereg_replace("[íìî]","i",$s);
$s = ereg_replace("[éèê]","e",$s);
$s = ereg_replace("[ÉÈÊ]","E",$s);
$s = ereg_replace("[óòôõº]","o",$s);
$s = ereg_replace("[ÓÒÔÕ]","O",$s);
$s = ereg_replace("[úùû]","u",$s);
$s = ereg_replace("[ÚÙÛ]","U",$s);
$s = str_replace("ç","c",$s);
$s = str_replace("Ç","C",$s);
return $s;
}
Código PHP:
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['folder'] . '/';
$id=$_GET['id'];
$filer=str_replace(" ", "_", elimina_acentos($_FILES['Filedata']['name']);
$filer=str_replace("&", "and", $filer);
$extension = pathinfo($filer, PATHINFO_EXTENSION);
$filer = basename($filer, '.'.$extension)."_".$id.".".$extension;
$file=str_replace('//','/',$_GET['folder'] . '/'). $filer;
$targetFile = str_replace('//','/',$targetPath) . $filer;
$data= date("d/m/Y");
mkdir(str_replace('//','/',$targetPath), 0777, true);
if(move_uploaded_file($tempFile,$targetFile)){
$id=$_GET['id'];
$nam=$filer;
$title=$_GET['titulo'];
$tage=$_GET['tag'];
$cate=$_GET['categ'];
$user=$_GET['user'];
$sql = "INSERT INTO filmfiles(id, file, fileroot, name, titulo, tags, categoria, user, date, biltrate, duracion, thumb, resolucion, video, audio) VALUES ( '$id', '$file', '$targetFile', '$nam', '$title', '$tage', '$cate', '$user', '$data', '', '', '', '', '', '')";
$result = mysql_query($sql);
echo "1";
}
}