problema con inserimento file nel DB

ho questo codice per inserire i file nel database

               function UploadEntry(){            
                     
                     /* esegue l'upload di un file 
                      * @author : trashofmasters
                      * @date   : 03 . 06 . 2006 -  22.23
                      * @copy©  : Revoke soft 2006
                      * return  : VOID()
                      */
                           
                  $query   = "SELECT `mime` FROM `mimes`";
                  $exec    = mysql_query($query);
                  $formats = mysql_fetch_array($exec);
                  echo '<pre>';
                  print_r($_FILES);
                  echo '</pre>';
                  
                     foreach ($_FILES["file"]["error"] as $key => $error){
                     
                            if (in_array($_FILES["file"]["type"][$key],$formats)){
                            
                            $data = file_get_contents($_FILES['pictures']['tmp_name'][$key]);
                            
                            $query = "INSERT INTO `files` (`name`, `mime`, `data`, `dateline`, `author`, `hash`) VALUES"
                                   .  " ('" . $_FILES['pictures']['name'][$key] . "',"
                                 .  " '" . $_FILES['pictures']['type'][$key] . "',"
                                 .  " '" . $data . "', "
                                 .  " '" . time() . "', "
                                 .  " '" . $_COOKIE['RvK_UserNM'] . "', "
                                 .  " '" . sha1_file($data) . "', ";      
                                 
                           $insert = mysql_query($query);
                           
                           if(mysql_affected_rows() >= 1)
                              {
                                 echo 'Inserimento completo!';
                                 }   
                                 
                           }elseif(!empty($_FILES['pictures']['name'][$key])){
                           
                                  $error = 'Impossbile caricare il file ' . $name . ' : formato non supportato';
                      }
                  }
                  }

in un'altra pagina ho una serie di form per file chiamati appunto FILE

quando uppo un file

il print r mi restituisce :

[tt]Array

(

    [file] => Array

        (

            [name] =>

            [type] =>

            [tmp_name] =>

            [error] => 4

            [size] => 0

        )

)

Warning: Invalid argument supplied for foreach() in C:\Programmi\Apache Group\Apache2\htdocs\cvs\misc\cfg\config.php on line 151[/tt]

cosa avro sbagliato???

 :bye:

inviato 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

fai un print_r dell'array che passi al foreach così puoi verificare il perché dell'errore.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

mi da 4 ... un intero ???

print_r($_FILES["file"]["error"])

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

ho anche un grosso problema a confrontare il mime type con quelli ne database

mimes :

+--------+------------+

| mid     | mime       |

+--------+------------+

  1         |  text/plain

  2         |  text/html

  3         |  text/css

come posso confrontarli con il mime del file da uppare?

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

per inserire un solo file non ci sono problemi ma quando si tratta di una lista di file mi da errore :(

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Prova a fare l'upload di diversi file e poi lancia un bel print_r($_FILES) in modo da vedere come engono presentati i dati relativi ai file uppati.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

risposto nell'altro topic con la soluzione

sorry

:bye:

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda