Foros del Web » Programando para Internet » PHP »

Nombre de la variable (sintaxis).

Estas en el tema de Nombre de la variable (sintaxis). en el foro de PHP en Foros del Web. Tengo un problema al colocar el nombre de la variable $nombre_archivo, asi como se encuentra abajo, esta mal. Si le coloco un pequeño espacio antes ...
  #1 (permalink)  
Antiguo 19/02/2007, 05:32
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 6 meses
Puntos: 9
Nombre de la variable (sintaxis).

Tengo un problema al colocar el nombre de la variable $nombre_archivo, asi como se encuentra abajo, esta mal. Si le coloco un pequeño espacio antes de la barra me lo admite pero lo guarda con ese pequeño espacio. Lo que quiero hacer es poder colocar bien el $nombre_archivo despues de la barra, pero no se como seguro que es muy facil, pero me podrian dar una ayuda. Gracias de antemano
Código:
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
    copy($HTTP_POST_FILES['archivo']['tmp_name'], "C:\AppServ\www\secretaria\imagenes\$nombre_archivo");
} else {
    echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['archivo']['name'];
}
__________________
->Aprender es un proceso que incluye el error..

Última edición por cala932; 19/02/2007 a las 05:37
  #2 (permalink)  
Antiguo 19/02/2007, 06:02
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 17 años, 2 meses
Puntos: 9
Re: Nombre de la variable (sintaxis).

proba:

"C:\AppServ\www\secretaria\imagenes\".$nombre_arch ivo

o

"C:\\AppServ\\www\\secretaria\\imagenes\\".$nombre _archivo
  #3 (permalink)  
Antiguo 19/02/2007, 06:31
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 6 meses
Puntos: 9
Re: Nombre de la variable (sintaxis).

Acabo de probarlo y me pasa lo siguiente:
Con esto: me da el siguiente error:
Cita:
C:\AppServ\www\secretaria\imagenes\".$nombre_archi vo
Código PHP:
Warningcopy(C:AppServwwwsecretariaimagenes".34.jpg): failed to open stream: Invalid argument in c:\appserv\www\secretaria\decisiones\imagen_decisiones\guardar_imagen.php on line 14 
Y con esta, el siguiente:
Cita:
"C:\\AppServ\\www\\secretaria\\imagenes\\".$no mbre _archivo
Código PHP:
Parse errorparse errorunexpected '"' in c:appservwwwsecretariadecisionesimagen_decisionesguardar_imagen.php on line 14 
__________________
->Aprender es un proceso que incluye el error..
  #4 (permalink)  
Antiguo 19/02/2007, 08:22
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 17 años, 2 meses
Puntos: 9
Re: Nombre de la variable (sintaxis).

ups :S q feo y con barras "/" comunes no puedes?

donde ejecutas tu script no puedar hacer el upload de otra manera? es decir sin tener q poner todo el path?

dime el path de donde quieres guardar la imagen y el de donde se ejecuta el script.
  #5 (permalink)  
Antiguo 19/02/2007, 09:40
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 6 meses
Puntos: 9
Re: Nombre de la variable (sintaxis).

Este es el script guardar:
Código PHP:
$nombre_archivo=$HTTP_POST_FILES['archivo']['name'];
$var_arch=explode('.',$nombre_archivo); /*Esto es para separar el nombre de la extencion porque en la base guardo por separado el nombre de la extension*/
if(is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
copy($HTTP_POST_FILES['archivo']['tmp_name'],"C:\AppServ\www\secretaria\imagenes\ "$nombre_archivo);
//envio los datos a la base.
$ssql=mysql_consulta("INSERT INTO `sa_imagenes`(`tb_imagen_id`,`tb_imagen_nombre`,`tb_imagen_registro`, `tb_imagen_tipo`) VALUES(0,' $var_arch[0]','$registro','.$var_arch[1]');","sec_administrativa","$usuario","$pass");
} else {
    echo 
"Posible ataque de carga de archivo: " $HTTP_POST_FILES['archivo']['name'];
}
$ssql=mysql_insert_id();
if(
$ssql)
echo
"La imagen ha sido Guardada";
else
echo
"NO se ha podido guardar la imagen"
Asi como esta funciona, con la particularidad que guarda un espacio en blanco antes del nombre. Me gustaria poder cambiarle el nombre al archivo, lo que pasa es que tengo que asociar varias imagenes con un registro.El problema es que si saco ese espacio en blanco en esta parte, el codigo me da error. De la misma manera tengo que tener en cuenta ese espacio en blanco cuando guardo el nombre de la imagen en la base, lo cual he hecho para que pueda funcionar.

copy($HTTP_POST_FILES['archivo']['tmp_name'],"C:\AppServ\www\secretaria\imagenes\(espacio en blanco) ". $nombre_archivo);

Este es el script donde muestro las imagenes asociadas a un registro:
Código PHP:
$ssql=mysql_consulta("SELECT * FROM `sa_imagenes` WHERE 1 AND `tb_imagen_registro`=16730","sec_administrativa","$usuario","$pass");
$fila mysql_fetch_array($ssql);
$img=$fila["tb_imagen_nombre"];
echo
"<table width='60%'>
<tr>
<td>
<img width='60%' src='http://"
.$_SERVER["HTTP_HOST"]."/secretaria/imagenes/"$img "'>
</td>
</tr>
</table>"

Creo que para renombrar el archivo se hace con la funcion rename("nombreviejo","nombrenuevo"); Pero no se si hay que incluir toda la ruta en donde se encuentra el archivo, en fin no se como utilizarla.
Gracias de Antemano.
__________________
->Aprender es un proceso que incluye el error..
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 06:40.