Foros del Web » Programando para Internet » PHP »

move_uploaded_file

Estas en el tema de move_uploaded_file en el foro de PHP en Foros del Web. Tengo un problema con move_uploaded_file, y es que si el nombre del archivo a enviar contiene, por ejemplo, un apostrofe ' no se copia con ...
  #1 (permalink)  
Antiguo 02/04/2005, 03:59
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
move_uploaded_file

Tengo un problema con move_uploaded_file, y es que si el nombre del archivo a enviar contiene, por ejemplo, un apostrofe ' no se copia con el nombre correcto, por ejemplo, si el nombre es "pepe's bar" me lo guarda en el servidor con el nombre "s bar", he probado con mysql_escape_string pero no funciona.

Lo que hago es esto:

$res3=@move_uploaded_file($_FILES['rm']['tmp_name'],"./rm/".$_FILES['rm']['name']);

En local funciona bien.

Cómo puedo copiar el archivo manteniendo el nombre original?

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)

Última edición por DjNelson; 02/04/2005 a las 04:15
  #2 (permalink)  
Antiguo 02/04/2005, 07:16
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Hay caracteres que segun el sistema operativo, no te va a permitir en los archivos, no decis en que sistema estas intentando guardar, o como tenes configurado el php.ini para escapar las ' (esto es seguro lo que te esta rompiendo todo).
Yo tengo dos, en una lo que hago es limpiar el nombre de toda basura posible, hasta espacios (no tengo la funcion a mano, sino te la paso), el tema es que no tiene el nombre original. Esa es una, la es, tengo una tabla para esto, y dos campos (en realidas uso mas, por ejemplo guardo aparte tambien la extension, pero eso esta en vos), en uno guardo el nombre original (obiamente vas a tener el mismo problema con ', pero podes reemplazarla por ´), y en otra algo como file + codigo de la tabla + extension.
De esta manera en pantalla siempre le mostras el nombre original, es mas, cuando lo descarga se lo pasas con ese nombre, pero internamente te moves con el nombre limpio, y tenes todo mas ordenado.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 02/04/2005, 08:20
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Creo que el server es un linux y en mi pc tengo windows. Quizás sea ese el problema...

Modificaré el nombre internamente como propones.

Gracias nicolaspar.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #4 (permalink)  
Antiguo 02/04/2005, 09:09
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Has probado a usar la función addslashes...

http://es.php.net/manual/es/function.addslashes.php

No creo yo pero lo mismo te sirve

Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 02/04/2005 a las 09:27
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:43.