Tengo que hacer una página de registro de usuario con todos los datos personales y además tiene que subir su fotografía (aunque es opcional).
He leido que es mejor guardar las imágenes en una carpeta del servidor y que en la base de datos se cargue solamente la ruta a esa carpeta y a la imagen correspondiente...
¿¿ Cómo lo hago ??
Tengo datosusuario.php con el formulario (nombre, apellidos, dirección, etc...) y para la foto tengo: SUBIR FOTOGRAFÍA: <input name="userfile" type="file">
a continuación va a insertar_datos.php
Qué pongo ahí? porque la insercción de los datos me funciona, el problema es la fotografía, que quiero que se muestre y que esté guardada....
He encontrado este código por internet, pero tampoco lo entiendo muy bien...
cómo podría aplicarlo a mi proyecto? qué campo tendría que meter en mi base de datos? porque antes usaba blob, pero con la carpeta no sé qué meter...text?
Código PHP:
<?php
$unique = time();
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/patch/carpeta/uploads/'.$unique;
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$uploadcheck = $uploadfile;
if(empty($_FILES['userfile']['name'])){
$uploadfile = "";}
$update = mysql_db_query("$dbconfig[db]","INSERT INTO $dbtable[novedades] (nov_img, nov_titulo, nov_texto, nov_fecha) VALUES ('$uploadfile', '$nov_titulo', '$nov_texto', CURRENT_DATE)") or die(mysql_error());
$borrarID = mysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] DROP id") or die(mysql_error());
$alterar= mysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id)") or die(mysql_error());
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "El archivo fue subido con éxito";
print "Información del archivo:";
print_r($_FILES);
} else {
print "El archivo no se pudo subir, información:\n";
print_r($_FILES);
}
print "</pre>";
?>