Tengo una pregunta que hacerte, porque guardas el mismo nombre que te envian? me explico, si yo subo un archivo con un nombre como este
Código HTML:
Ver originalsoy_un_archivo_muy_extenso_y_tu_me_guardaras_con_este_mismo_nombre_o_no.doc
Segun la logica tuya el archivo subiria, esto lo muestras luego? que haces con este archivo??
Personalmente te doy dos opciones
1) Subir el archivo, al momento de subirlo al servidor cambiarle el nombre por un identificador unico, lo cual haria mas facil y menos extenso su nombre en el Servidor, ahora tu diras como se de quien es este archivo, normalmente esto lo puedes guardar en una base de datos, es decir, guardas quien lo subio, su nombre real, y el nombre que le asignaste, ahora si no quieres una base de datos, puedes tambien al momento de guardarlo crearlo en una carpeta con la ruta de quien lo subio o el id de esto.
2) Si aun quieres conservar el nombre original, puedes agregar esto
Código PHP:
Ver original$imagePath = basename($_FILES[$fileFieldName]["name"]);
//lo transformamos a UTF8 para poder reemplazar los tildes y demaces
//Patron para reemplazar si viene con alguna tilde o demaces
"á" => "a" , "é" => "e" , "í" => "i" , "ó" => "o" , "ú" => "u",
"Á" => "A" , "É" => "E" , "Í" => "I" , "Ó" => "O" , "Ú" => "U",
"à" => "a" , "è" => "e" , "ì" => "i" , "ò" => "o" , "ù" => "u",
"À" => "A" , "È" => "E" , "Ì" => "I" , "Ò" => "O" , "Ù" => "U",
"ä" => "a" , "ë" => "e" , "ï" => "i" , "ö" => "o" , "ü" => "u",
"Ä" => "A" , "Ë" => "E" , "Ï" => "I" , "Ö" => "O" , "Ü" => "U",
"ñ" => "n" , "Ñ" => "N" , "°" => "a" , "/" => "a" , "\\" => "a",
"&" => "a" , "'" => "a" , '"' => "a" , "<" => "a" , ">" => "a",
" " => ""
);
//reemplazamos, quitamos espacios
Con esto, tus caracteres quedarian fuera, ya que al convertirlos como lo haces el te dejaria por ejemplo "á" quedaria "á" lo que no sirve al momento de eliminar ya que se marea el unlink o de subirlo.
Tu deberas reemplazar los nombres por los que posees y adaptarlo.
Saludos