Aquí está el código:
Código PHP:
<?php
session_start();
//Datos para establecer la conexion con la base de mysql...
mysql_connect('localhost','root','')or die ('Ha fallado la conexión a la base de datos: '.mysql_error());
mysql_select_db('usuarios')or die ('Ha fallado la conexión a la base de datos: '.mysql_error());
// Verificamos si se han enviado ya las variables necesarias...
if (isset($_POST['condiciones'])) {
$nombre = $_POST["nombre"];
$contraseña = $_POST["contraseña"];
$contraseña2 = $_POST["contraseña2"];
$email = $_POST["email"];
$sexo = $_POST["sexo"];
$dianacimiento = $_POST["dianacimiento"];
$mesnacimiento = $_POST["mesnacimiento"];
$añonacimiento = $_POST["añonacimiento"];
$cumpleaños = ($_POST["dianacimiento"]."-".$_POST["mesnacimiento"]."-".$_POST["añonacimiento"]);
$fecha = date("y-m-d");
$apellidos = $_POST["apellidos"];
//Variable para saber si se produce algun error...
$error='0';
//La variable 'nombre_archivo' indica el directorio y el nombre con el que se guardará el mismo...
$nombre_archivo = "/fotos/perfil/".$_FILES['avatar']['name'];
$avatar = $_FILES['avatar']['name'];
//La variable 'tipo_archivo' indica la extensión del mismo...
$tipo_archivo = $_FILES['avatar']['type'];
//La variable 'tamano_archivo' indica en tamaño en bytes del mismo...
$tamano_archivo = $_FILES['avatar']['size'];
// Comprobamos si el correo o la imagen ya existían...
$checkemail = mysql_query("SELECT email FROM infopersonal WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
$checkavatar = mysql_query("SELECT avatar FROM infopersonal WHERE avatar='$nombre_archivo'");
$avatar_exist = mysql_num_rows($checkavatar);
if ($email_exist>0) {
$error='1';
}
else if ($avatar_exist>0) {
$error='2';
}
else {
if($nombre_archivo!='/fotos/perfil/'){
if ($tamano_archivo > 500000) {
//Si el tamaño o la extensión del archivo no son correctas se pone como valor a la variable 'error' un '3'...
$error='3';
}
else {
if (is_uploaded_file($_FILES['avatar']['tmp_name'])){
if (move_uploaded_file($_FILES['avatar']['tmp_name'], $nombre_archivo)){
// El archivo ha sido movido a su destino final correctamente
}
else {
// El archivo no se ha movido correctamente a su destino final
$error='5';
}
}
else {
//No se ha podido guardar el archivo en el servidor, por eso la variable 'error' recibe como valor un '4'...
$error='4';
}
}
}
}
}
// Comprueba si ha sucedido algún error y redirige...
if ($error=='1'){
header("Location: /errores/falloregistro.php?id=1");
die();
}
else if ($error=='2'){
header("Location: /errores/falloregistro.php?id=2");
die();
}
else if ($error=='3'){
header("Location: /errores/falloregistro.php?id=3");
die();
}
else if ($error=='4'){
header("Location: /errores/falloregistro.php?id=4");
die();
}
else if ($error=='5'){
header("Location: /errores/falloregistro.php?id=5");
die();
}
else if ($error=='0') {
mysql_query("INSERT INTO infopersonal (nombre,apellidos,contraseña,email,fecha,sexo,cumpleaños,avatar)
values ('$nombre','$apellidos','$contraseña','$email','$fecha','$sexo','$cumpleaños','$nombre_archivo')");
header("Location: /correctos/registrado.php");
}
?>
Cita:
Espero que me podáis echar una mano, porque llevo trabado con esto un rato ya...Warning: move_uploaded_file(/fotos/perfil/Mds2ZwRfsLo2dSDYAA.jpg): failed to open stream: No such file or directory in C:\Program Files (x86)\EasyPHP-12.0\www\php\registrar.php on line 47
Warning: move_uploaded_file(): Unable to move 'C:\Program Files (x86)\EasyPHP-12.0\tmp\php8C0C.tmp' to '/fotos/perfil/Mds2ZwRfsLo2dSDYAA.jpg' in C:\Program Files (x86)\EasyPHP-12.0\www\php\registrar.php on line 47
Warning: move_uploaded_file(): Unable to move 'C:\Program Files (x86)\EasyPHP-12.0\tmp\php8C0C.tmp' to '/fotos/perfil/Mds2ZwRfsLo2dSDYAA.jpg' in C:\Program Files (x86)\EasyPHP-12.0\www\php\registrar.php on line 47
P.D: Estoy trabajando en un servidor local con EasyPHP, instalado sobre Windows 7, así que no he podido comprobar si el fallo está en los permisos de la carpeta...