prueba asi a ver, lo adapte de uin codigo que poseo y que me funciona perfecto para subir las imagenes a mi blog:
Código PHP:
Ver original // Datos de conexión a configurar
$directorio = "/localweb/subidas/S/";
// Recibo los datos
$IdRFQ = $_POST['txtidrfq'];
$Data = $_POST['txtdata'];
$Suppliers = $_POST['txtsupplier'];
$Price = $_POST['txtprice'];
$Cry2 = $_POST['txtcry2'];
$MOQ = $_POST['txtmoq'];
$Volume = $_POST['txtvolume'];
$Investment = $_POST['txtinvestment'];
$Cry = $_POST['txtcry'];
$Timing = $_POST['txttiming'];
$Incoterms = $_POST['txtincoterms'];
$Comments = $_POST['txtcomments'];
//aqui recibo el archivo
$nombre = $_FILES['userfile']['name'];
$tipo = $_FILES['userfile']['type'];
$tamano = $_FILES['userfile']['size'];
//tomamos la extension del archivo subido
// muevo el archivo del temporal al directorio definitivo
//asigno la ruta y nombre del archivo para almacenarlo
$fichero_subido = $directorio.$nombre.".".$b;
$q1= "INSERT INTO rfq (idrfq, data, suppliers, price, cry2, moq, volume, investment, timing, cry, incoterms, archivo)
values ('$IdRFQ','$Data', '$Suppliers', '$Price', '$Cry2', '$MOQ', '$Volume', '$Investment', '$Timing', '$Cry', '$Incoterms', '$fichero_subido')";
$result = mysql_query($q1) or
die ("No se pudo ejecutar la consulta");
if($ql){
$msg = "Datos cargados";
} else {
$msg = "Datos no cargados";
}
}
esta medio adaptado a tu codigo, igual revisa a ver si todo esta bien