Foros del Web » Programando para Internet » PHP »

Al Subir archivos, remplazar espacios por _

Estas en el tema de Al Subir archivos, remplazar espacios por _ en el foro de PHP en Foros del Web. Hola amigos, miren, tengo un codigo, el cual se pueden subir archivos al servidor, pero hay un problema, posteriormente tengo scripts, que, funcionan perfectamente si ...
  #1 (permalink)  
Antiguo 23/10/2007, 09:07
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 19 años, 2 meses
Puntos: 12
Al Subir archivos, remplazar espacios por _

Hola amigos, miren, tengo un codigo, el cual se pueden subir archivos al servidor, pero hay un problema, posteriormente tengo scripts, que, funcionan perfectamente si un archivo se subio sin espacios, ejemplo
La_Banda_Cancion.mp3
con ese archivo, todo es perfecto, pero ya le eh dicho a mi cliente que suba archivos, si tiene espacio que renombre, pero creo que es dificil

quiza suba un archivo asi
La Banda Cancion.mp3

y que paso? todos los script fallan

alguna sugerencia para, que al subir, remplaze por _ invisiblemente

Código PHP:

$dir
=$_GET['dir'];

if(!@
copy($HTTP_POST_FILES['archivo']['tmp_name'], "./$dir/".$HTTP_POST_FILES['archivo']['name'])){
echo
"<b>No se pudo Subir el Archivo a el Directorio</b><br>";
}else{
echo
"<b>El Archivo se subio con Exito al Directorio!</b><br><a href='index.php?seccion=Subir.Archivos&dir=$dir'>Click aqui para entrar</a><br>";
}




  #2 (permalink)  
Antiguo 23/10/2007, 09:14
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Re: Al Subir archivos, remplazar espacios por _

Prueba con esto:
Código PHP:
$nombre "Mi Cancion.mp3"
echo 
$nombre str_replace(" ","_",$nombre); 
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 23/10/2007, 09:57
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Al Subir archivos, remplazar espacios por _

Que coincidencia MoDoRrO. Justo hace unos minutos estuve en el mismo lío, y ya iba a publicar, pero logré armar esta pequeña función:

Código PHP:
function replace_filename($str,$min 0) {
    
$str ereg_replace("[^a-zA-Z0-9.]",'_',$str);
    return (
$min == 1) ? strtolower($str) : $str;

Lo que hace es conservar sólo las letras, números y el punto (.)... Todo lo demás lo convierte a guiones "_". Si deseas sólo convertir los espacios, usa el código que te expuso Marvin más arriba. Pero te sugiero que uses la función que te doy, pues un nombre de archivo inválido no sólo es aquel que está compuesto de espacios . Si deseas que además te convierta todo a minúsculas, le agregas como segundo parámetro un 1

Código PHP:
$archivo "Múltiples mp3's & wma's (Por MyOkram).zip";
$archivo replace_filename($archivo,1);
echo 
$archivo
Un saludo,
  #4 (permalink)  
Antiguo 24/10/2007, 09:23
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 19 años, 2 meses
Puntos: 12
Re: Al Subir archivos, remplazar espacios por _

gracias a los 2, pero prefiero la opcion de OKRAM, debido a que los archivos que sube mi cliente, son con espacios, con acentos y otras cosas raras.

no manches okram, eres genail, me has ayudado varias veces!

gracias Amigo!

Saludos desde Mexico
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:02.