Problema simile..
Devo consentire lato utente di uploadare immagini e dati. Le immagini vorrei spedirle sul file system del server e vorrei passare il nome del file al database, in modo poi che sia richiamato da una select ecc.
Ora ho ulizzato il codice Da Redmak proposto così:

FORM
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<th scope="row">[img]../img/paint_application.png[/img]</th>
<td><h1>Inserimento Immagini </h1></td>
</tr>
</table>

<form action="moon.php" method="post" enctype="multipart/form-data">
<table border="0" cellspacing="2" cellpadding="0">
<tr>
<th scope="row"><div align="right">Seleziona Immagine</div></th>
<td><input name="image" type="file" /></td>
</tr>
<tr>
<td></td>
<td><input name="upload" type="submit" class="bottone" value="Carica immagine" /></td>
</tr>
</table>

</form>
<a href="home.php">[img]../img/tools_small.png[/img]

back</a>

UPLOAD:



<?php
$server = "66.71.190.67";
$utente = "xxx";
$password = "xxx";
$datab = "xxx";


// funzione per errore server mysql

function errore_server()
{
echo "Il database MySql sembra non rispondere...
MySql dice:
<font color=red>". mysql_error()."</font>
pregasi <a href=\"mailtoiergiorgio.papetti@ge010.it\">segnalare</a> il problema";
} // end func


// connessione e selezione db

$connessione = @mysql_connect ($server, $utente, $password) or die (errore_server ());
$db = mysql_select_db ($datab, $connessione) or die (errore_server ());
/************************ buridda****************************/
$msg = "";
do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 18 KB
if ($_FILES['image']['size'] > 130000) {
$msg = "

Il file non deve superare i 128 kb</p>";
break;
}
// Ottengo le informazioni sull'immagine
/*open_basedir = "/var/tmp/";
list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
// Controllo che le dimensioni (in pixel) non superino 160x180
if (($width > 280) || ($height > 500)) {
$msg = "

Dimensioni non corrette</p>";
break;
}
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
if (($type!=1) && ($type!=2) && ($type!=3)) {
$msg = "

Formato non corretto</p>";
break;
}*/
// Verifico che sul sul server non esista già un file con lo stesso nome
// In alternativa potrei dare io un nome che sia funzione della data e dell'ora
if (file_exists('upload_img/'.$_FILES['image']['name'])) {
$msg = "

File già esistente sul server. Rinominarlo e riprovare.</p>";
break;
}
// Sposto il file nella cartella da me desiderata
if(!move_uploaded_file($_FILES['image']['tmp_name'],'upload_img/'.$_FILES['image']['name'])){
$msg = "

Errore nel caricamento dell'immagine</p>";
break;
}
else{
$msg= "

Operazione Eseguita</p>";
break;
}
}
} while (false);

if($msg!=""){
$sql="INSERT INTO immagini (nome) VALUES ('".$_FILES['image']['name']."')";
mysql_db_query($nomedb,$sql);
$msg = "<h2>Immagine caricata nel server</h2>";
}
else{
$msg = "

Nessuma immagine Selezionata</p>";
}
?>

I parametri gli passa ma non carica niente, ho provato a sbagliare apposta la password della connesssione e segnale errore.
La cartella sul file system l'ho creata, i permessi ce li ha.
Ma di immagini nessuna traccia e niente su db.
Permessi di server o errori grossolani da parte mia?