Foros del Web » Programando para Internet » PHP »

Duda con la funcion copy

Estas en el tema de Duda con la funcion copy en el foro de PHP en Foros del Web. Vamo a ver Estoy haciendo una web y la estoy haciendo con llamadas a funciones. Tengo un switch y según la opcion, me llama a ...
  #1 (permalink)  
Antiguo 27/10/2003, 13:30
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 14 años, 2 meses
Puntos: 0
Duda con la funcion copy

Vamo a ver

Estoy haciendo una web y la estoy haciendo con llamadas a funciones.

Tengo un switch y según la opcion, me llama a una funcion u a otra. Pues a la hora de subir archivos, si lo hago a través de una funcion pues no me funciona. Solo me funciona si lo hago en el mismo switch.

No se si me he explicado con claridad.

Gracias!
__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
  #2 (permalink)  
Antiguo 27/10/2003, 13:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías poner el código que usas .. pero, desde ya te comento que el ambito (scope) de las variables no es global en funciones.

Si dices que estás haciendo un "upload" .. tal vez estés recogiendo tus variables del archivo y otras por $HTTP_POST_FILES y similares (o lo estás asumiendo como globales $... ) el caso es que estas variabels NO son gloables .. así que debes de declararlas como globales en tu función o pasarselas como parámetro a la función.

Si usases los arrays supergloables $_FILES .. ($_POST .. etc) no tendrías problemas (con esas variables) pues ya son globales de por sí (no es necesario declararas como globales o de pasarlas como parámetro si no lo deseas)..

Te recomiendo leas este capítulo del manual oficial de PHP:
http://www.php.net/manual/en/languag...bles.scope.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 27/10/2003, 14:48
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 14 años, 2 meses
Puntos: 0
Muchas gracias por la contestacion. Aqui te dejo el codigo;

function doadd ($id,$name,$archivo)
{


include ("config.php");
$dir = 'images/';
if (!copy ($archivo, $dir.$archivo_name))
{
echo "Error!!";
echo $archivo_name;
}
else
mysql_query ("INSERT INTO $topics VALUES('$id','$name')",$conexion);
break;

}
__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
  #4 (permalink)  
Antiguo 27/10/2003, 14:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La variable $topics .. donde la defines?

la de $conexion supongo que vendrá en el config.php que llamas vía include() dentro de esa función? ...

Al pasar como parámetro la variable $archivo .. (que es un FILE) no sé como se comportará con funciones .. ¿ tal vez pierda sus propiedades_xxx ? (no creo ..)

Por lo demas .. por seguridad y "buenas maneras" .. no usaria tus variabels del archivo que subes como las usas "gloables" $archivo_xxx sino que usaria el array superglobale $_FILES . En las FAQ's de este foro tienes ejemplos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 23:31.