Foros del Web » Programando para Internet » PHP »

creando perfiles para usuarios

Estas en el tema de creando perfiles para usuarios en el foro de PHP en Foros del Web. Hola , a traves del registro he sido capaz de hacer que se copien las carpetas ahora necestio saber como copiar os archivos .. pues ...
  #1 (permalink)  
Antiguo 20/08/2011, 03:47
 
Fecha de Ingreso: abril-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 3
creando perfiles para usuarios

Hola , a traves del registro he sido capaz de hacer que se copien las carpetas ahora necestio saber como copiar os archivos .. pues os explico

Las carpetas que creo son con el siguiente codigo

mkdir ("./users/$alias", 0755, true);

Como veis el $alias es un nombre de usuario obligatorio pues bien .. no se estructurar esto para copiar unos archivos predeterminados en la carpeta creada ,

Lo hago de la siguiente forma.

mkdir ("./users/$alias", 0755, true);
}
else
copy ("./users/prin/index.php ./users/$alias", 0755, true);
{


Quiero que se copie en el archivo en esa carpeta de usuario.. Gracias !

Última edición por jc92; 20/08/2011 a las 07:07
  #2 (permalink)  
Antiguo 20/08/2011, 07:07
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: creando perfiles para usuarios

No entiendo bien que queres hacer?
por lo que veo en el codigo esta bien, supongo que el usuario carga sus datos en un formulario y vos los guardas en la DB.

No entiendo por que decis que si se cran 300 usuarios el server se colapsa. no entiendo.

Cual es tu problema? el espacio en la db? o queres importar 300 usuarios desde un txt?

ha y mkdir sirve para crear directorios, no archivos
  #3 (permalink)  
Antiguo 20/08/2011, 07:08
 
Fecha de Ingreso: abril-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 3
Respuesta: creando perfiles para usuarios

exacto , lo que no se es como copiar los archivos en dicho directorio... creo la carpeta pero el copy que viene luego no copia dichos archivos y si el codigo esta bien te paso el codigo entero o no hace falta?
  #4 (permalink)  
Antiguo 20/08/2011, 07:24
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: creando perfiles para usuarios

estas usando mal el copy

http://php.net/manual/es/function.copy.php
  #5 (permalink)  
Antiguo 20/08/2011, 09:49
 
Fecha de Ingreso: abril-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 3
Respuesta: creando perfiles para usuarios

Ahora que me fijo lo que quiero copiar esta dentro de la carpeta prin, este es el codigo que estoy probando


<?php
$archivo = 'ejemplo.txt';
$nuevo_archivo = 'ejemplo.txt.bak';

if (!copy($archivo, $nuevo_archivo)) {
echo "Error al copiar $archivo...\n";
}
?>

Intento poner la ruta en $archivo y $archivo nuevo pero no puedo...

El origen es : /users/prin/* (todas las carpetas y archivos del directorio)
Destino: /users/$alias (para que se copie en la carpeta del usuario registrado)

por cierto lo copio aqui (else que esta en negrita)

{
echo "El usuario ha sido registrado correctamente";
echo mysql_error($con);
mkdir ("./users/$alias", 0755, true);
}
else
{
echo mysql_error($con);
}
}
else
{
echo mysql_error($con);
}
  #6 (permalink)  
Antiguo 20/08/2011, 11:11
 
Fecha de Ingreso: abril-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 3
Respuesta: creando perfiles para usuarios

Ahora he probado con esto

<?php
$sitio="localhost";
$usuario="admin";
$pass="hermanos2";
$base="sport";
$name=$_POST["name"];
$surname=$_POST["surname"];
$date=$_POST["date"];
$email=$_POST["email"];
$email2=$_POST["email2"];
$password1=$_POST["password1"];
$password2=$_POST["password2"];
$alias=$_POST["alias"];
$con=mysql_connect($sitio,$usuario,$pass);
if(mysql_select_db($base,$con)){
$consulta ="insert into users1 values ('$name','$surname','$date','$email','$email2','$p assword1','$password2','$alias')";
if(mysql_query($consulta,$con))
{
echo "El usuario ha sido registrado correctamente";
echo mysql_error($con);
mkdir ("./users/$alias", 0755, true);
copy("/users/prin/*", "/users/$alias/");
}
else
{
echo mysql_error($con);
}
}
else
{
echo mysql_error($con);
}
?>


Y me da el siguiente error, el codigo me lo marca como que esta bien pero no ocure nada.

( ! ) Warning: copy(/users/prin/*) [function.copy]: failed to open stream: No error in C:\wamp\www\sport\guardar.php on line 22
  #7 (permalink)  
Antiguo 20/08/2011, 12:26
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: creando perfiles para usuarios

podria verificar que el directorio exista

if(is_dir("/users/prin/*")){
copy("/users/prin/*", "/users/$alias/");
}else{
//LO MAS SEGURO ES QUE PASE ESTO POR QUE EL * NO PUEDE SER UN DIRECTORIO

}
  #8 (permalink)  
Antiguo 20/08/2011, 13:06
 
Fecha de Ingreso: abril-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 3
Respuesta: creando perfiles para usuarios

respuesta al error

<?php
$sitio="localhost";
$usuario="admin";
$pass="hermanos2";
$base="sport";
$name=$_POST["name"];
$surname=$_POST["surname"];
$date=$_POST["date"];
$email=$_POST["email"];
$email2=$_POST["email2"];
$password1=$_POST["password1"];
$password2=$_POST["password2"];
$alias=$_POST["alias"];
$con=mysql_connect($sitio,$usuario,$pass);
if(mysql_select_db($base,$con)){
$consulta ="insert into users1 values ('$name','$surname','$date','$email','$email2','$p assword1','$password2','$alias')";
if(mysql_query($consulta,$con))
{
echo "El usuario ha sido registrado correctamente";
echo mysql_error($con);
mkdir ("./users/$alias", 0755, true);
if(is_dir("./users/prin/carp1")){
copy("./users/prin/carp1", "./users/$alias/");
}else{


} }
else
{
echo mysql_error($con);
}
}
else
{
echo mysql_error($con);
}
?>

Imagen de la ruta original de la carpeta

http://img68.xooimage.com/files/c/b/a/prin2-2c01270.png

el archivo esta ya puesto en sport asi que por eso pongo solo users
  #9 (permalink)  
Antiguo 20/08/2011, 13:36
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: creando perfiles para usuarios

y entonces?
no entiendo la respuesta, ahora esta bien? o falta algo
  #10 (permalink)  
Antiguo 20/08/2011, 13:40
 
Fecha de Ingreso: abril-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 3
Respuesta: creando perfiles para usuarios

upss no entiendo como no se a copiado el error

( ! ) Warning: copy() [function.copy]: The first argument to copy() function cannot be a directory in C:\wamp\www\sport\guardar.php on line 23
  #11 (permalink)  
Antiguo 21/08/2011, 04:16
 
Fecha de Ingreso: abril-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 3
Respuesta: creando perfiles para usuarios

Mira patriarka lo k me pasa ahora ... el codigo esta bien escrito

<?php
$sitio="localhost";
$usuario="admin";
$pass="hermanos2";
$base="sport";
$name=$_POST["name"];
$surname=$_POST["surname"];
$date=$_POST["date"];
$email=$_POST["email"];
$email2=$_POST["email2"];
$password1=$_POST["password1"];
$password2=$_POST["password2"];
$alias=$_POST["alias"];
$origen=$_POST["origen"];
$con=mysql_connect($sitio,$usuario,$pass);
if(mysql_select_db($base,$con)){
$consulta ="insert into users1 values ('$name','$surname','$date','$email','$email2','$p assword1','$password2','$alias')";
if(mysql_query($consulta,$con))
{
echo "El usuario ha sido registrado correctamente";
echo mysql_error($con);
mkdir ("./users/$alias", 0755, true);
}
else
$origen = "./users/prin/"; //pon la carpeta origen
$destino = "./users/$alias/"; //pon la variable $nombre o una carpeta destino que ya exista
if ($vcarga = opendir($origen))
{
echo "Directorio: $origen<br><br>";
echo "Fichero:<br><br>";
while($file = readdir($vcarga))
{
if ($file != "." && $file != "..")
{
if(copy($origen . $file, $destino . $file))
{
echo "<b>$file</b> se copió con éxito al directorio.<br>";
}

}
}
closedir($vcarga);
}
{
echo mysql_error($con);
}
}
else
{
echo mysql_error($con);
}
?>

Me pone que la variable origen no esta definida ?

Etiquetas: directorio, personales, usuarios
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 16:33.