para que abres el archivo .. ?
Código PHP:
$fp=fopen($archivo,"rb");
$contenido=fread($fp,$tamanio);
$contenido=addslashes($contenido);
fclose($fp);
de donde sale $imagen?
Código PHP:
copy ($archivo,$imagen);
Lo ideal es que uses sólo la función:
Código PHP:
move_uploaded_file($_FILES["imagen"]["tmp_name"],"directorio/".$_FILES["imagen"]["name"]);
así mueves el archivo desde la ruta y nombre que toma "temporalmente" cuando sube tu archivo .. hacia el destino definitivo (directorio de tu sitio) con el nombre que le des (en el ejemplo .. el mismo que tenía en origen (no el temporal).
Y luego en tu BD al hacer el INSERT guardarías sólo el nombre del archivo:
$_FILES["imagen"]["name"]
En el campo que destines en esa tabla que usas para la "imagen". (un campo VARCHAR 255 sobra ..)
Un saludo,