Hola, lo que pides es simple, pero a su vez no es seguro, ya que la carpeta tendrá que tener permisos de escritura (777).
Lo primero que tienes que hacer es un formulario codificado con
multipart/form-data con 1 campo FILE y un boton (es decir, 2 campos seran los necesarios, luego tu tendrás que ver si necesitas algunos HIDDEN para user, o limitar el upload a X bytes).
El campo FILE lo nombras
archivo_usuario
El form sería algo asi:
Código:
<form enctype="multipart/form-data" method="POST" target="arriba" action="upload.php">
<input type="file" name="archivo_usuario" size="45"></td>
<input type="submit" value="Enviar" name="enviar"></td>
</form>
Luego, en el mismo directorio en donde se encuentra el archivo con el form, pondras un archivo con el nombre
upload.php, que tendrá el siguiente contenido:
upload.php
Código:
<?php
if ($_POST[enviar] != "") {
$directorio = '/home/user_name/public_html/fotos/';
if (move_uploaded_file($_FILES['archivo_usuario']['tmp_name'], $directorio . $_FILES['archivo_usuario']['name']))
{
//AQUI PONES El CODIGO PARA GUARDARLA EN UNA BASE DE DATOS, SEGURAMENTE SABES COMO HACER ESTO (ES MUY SIMPLE)
echo 'LA IMAGEN FUE GUARDADA CORRECTAMENTE';
}
else {
echo '
//AQUI DIO UN ERROR, POR LO QUE LA IMAGEN NO SE GUARDA
echo 'LA IMAGEN NO PUDO GUARDARSE, SE PRODUJO UN ERROR';
}
}
?>
Creo que tendría que funcionar bien, es muy simple...
En donde tienes que guardarla a una DB, solo tienes que crear una tabla con 2 campos , ID y url, en donde ID tendrá que ser AUTO INCREMENT y luego solo haces una conexion a dicha tabla y agregas la URL que sería $directorio más el nombre del archivo, algo asi
$url = $directorio . $_FILES['archivo_usuario']['name'];
PD: $directorio es la URL donde guardaras las fotos, solo que es la url INTERNA del servidor, para que no de errores. PERDON SI HAY ERRORES!