tendrias que cambiar esta linea
Código PHP:
$sql .= ",'".$POST["$archivo"]."'";
por esta
Código PHP:
$sql .= ",'".$nombre."'";
por otro lado no se para que tenes esto
Código PHP:
$fp = fopen($archivo, "rb");
$contenido = fread($fp, $tamanio);
$contenido = addslashes($contenido);
fclose($fp);
ya que $contenido no lo estas usando en ningun lado
para que se te aclaren algunos conceptos....
En tu script estas realizando dos cosas distintas para llegar a lo mismo
QUe quiero decir con esto???
Para guardar archivos hay dos formas (basicas)
1- guardarlo en binario en la base de datos
2-guardar el nombre del archivo en la base de datos y el archivo en un directorio
si vos te pones a mirar tu codigo tenes un procedimiento que es el que anote anteriormente donde usas addslashes() con el que estas obteniendo el contenido en binario del archivo, pero como se ve mas adelante en tu codigo NO LO USAS.. solo guardas el nombre (o al menos eso intentabas, porque como te hize corregir anteriormente, estabas guardando el nombre del archivo temporal! y no el nombre del archivo real...
Ahora si nos fijamos, mas adelante en tu codigo, tambien estas haciendo un COPY y eso es como realizar la segunda de las opciones de guardado de archivos que teniamos disponibles
Entoncces, por un lado estas leyendo el contenido binario, pero luego no lo guardas en ningun lado, y por otro lado estas copiando el archivo fisicamente en un directorio y guardando el nombre...
que es lo que realmente queres hacer?? guardar el archivo en una base de datos, o solo guardar el nombre en la base y el archivo en un directorio???
A.... y otra cosa!.... corregi tus variables $POST, ya que se escriben $_POST con guion bajo delante
Saludos!....