si utilizas mysql.5. puedes guardar las fotos dentro de la base de datos directamente solo declaras a la columna que contendrá tu imagen de tipo blob/mediumblob.
Código HTML:
CREATE TABLE `mibasededatos`.`mi_imagen` (
`id_imagen` INT( 5 ) NOT NULL ,
`nombre_imagen` VARCHAR( 50 ) NOT NULL ,
`tipo_imgan` VARCHAR( 50 ) NOT NULL ,
`tamanio_imagen` INT( 10 ) NOT NULL ,
`contenido_imagen` BLOB NOT NULL ,
PRIMARY KEY ( `id_imagen` )
)
)
Código PHP:
$GLOBALS['VALID_TYPES'] = array('image/jpeg','image/jpg','image/png','image/gif');
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
if(($tmpName!="")&&($fileType!="")&&($fileSize>0))
{
if (!in_array($fileType, $GLOBALS['VALID_TYPES']))
{
$message_err.="<p style='font-size:12px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight: bold;color:#FF0000;' >Tipo de archivo no permitido </p>";
}
else {
$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$query = "INSERT INTO mi_imagen (id_imagen, nombre_imagen, tipo_imagen, tamanio_imagen,contenido_imagen ) ".
"VALUES ($id_imagen,'$fileName', '$fileType', '$fileSize', '$content')";
y la segunda opcion es subir la imagen dentro de un archivo en el servidor.