Ya hice que se reemplacen todos los espacios por _ con:
Código PHP:
$tempFile = str_replace(' ', '_', $_FILES['Filedata']['tmp_name']);
Existe alguna función predeterminada para esta tarea?
Muchas gracias. Saludos.
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo Buenas Googleando he encontrado esto, lo he probado y funciona: Código PHP: Espero que te sirva, saludos Última edición por Kamae; 20/09/2010 a las 08:22 Razón: Añadir información |
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo Kamae, muchas gracias por el código. Pero me da cierto problema. Envío la cadena (nombre de archivo) siguiente: "estóy probándo un nómbre de archívo con acéntos DOS.txt" Y al formatearla queda así: "est_iy prob_Ondo un n_imbre de arch_vo con ac_©ntos DOS.txt" Qué puede ser lo que está pasando? Gracias nuevamente. ;) |
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo Ahora probé también utilizando el código exactamente como lo enviaste, y ocurre lo siguiente: Código Código PHP: Respuesta: Macarr_in, Park G_¼ell, Pla_§a Espa_±a, Pel·licula, _Alg_ºn t_Int_U q_¼_© _ nt_¨nt_« j_Ed_Nrt_« c_in _-st_U |
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo Mmmm supongo que es algo de la codificación, no debemos usar la misma porque a mí me devuelve bien Macarron,_Park_Guell,_Placa_Espana,_Pel-licula_Algun_tonto_que_intente_jOdErte_con_Esto Qué programa usas para programar? Yo uso Notepad++ y si por ejemplo me voy a Formato se lo cambio a ANSI, luego en cada página tengo un: Código PHP: Intenta probarlo o a ver si viene alguien que pueda ayudarte más. Saludos |
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo La verdad es que no entiendo eso de la codificación, pero esta función no la quiero para mostrar texto en pantalla, sino para cambiar el nombre de un archivo al subirlo al servidor. Cómo debería darle la codificación para que funcione bien? Te copio el código que tengo actualmente. Uso Dreamweaver CS5. Código PHP: No lo uso en un documento que se decodifique en HTML, sino un PHP que procesa las solicitudes y devuelve ok o error. |
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo Buenas de nuevo ¿Has probado a ejecutarlo a ver cómo te guarda el nombre del fichero? Quizás al no pintarlo por HTML la codificación no afecta y le quita bien los acentos al fichero. De no ser así, si lo sigue pintando mal, yo el Dreamweaver no lo uso, pero googleando pone que si vas a Modificar -> Propiedades de la página -> Título/Codificación -> Codificación puedes cambiársela al archivo en concreto. (OJO: Haz una copia antes de todos tus ficheros, con los cambios de codificación ya que puede ser que te elimine los caracteres con acento o los cambie por símbolos raros cómo te ocurre al mostrar la función que yo puse, y puede ser irreversible) Teóricamente si lo cambias a ANSI y arreglas las tildes que se hayan jodido por símbolos (con un Buscar/Reemplazar mismo lo tienes hecho en un par de minutos) debería solucionarte el problema. |
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo Si, lo probé y anteriormente y me lo guarda como te dije en la otra respuesta: Envío la cadena (nombre de archivo) siguiente: estóy probándo un nómbre de archívo con acéntos DOS.txt Y al formatearla queda así: est_iy prob_Ondo un n_imbre de arch_ vo con ac_©ntos DOS.txt :S |
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo Ahora si funciona!! =D Encontré algo en el Manual de la función strtr() de PHP y mi código quedó así: Código PHP: Muchísimas gracias Kamae!! no hubiese llegado a nada sin tu ayuda!! ;) |
| ||||
Respuesta: Reemplazar caracteres especiales en nombre de archivo No hay de qué! Me alegro de que lo hayas solucionado! Además ahora también sé convertir caracteres a diferente codificación con strtr jejej :P |
Etiquetas: |