Ciao a tutti, sto imparando il php da poce settimane e quindi mi sto letteralmente scervellando con questo problema, vediamo se mi potete aiutare voi:

Creo un' array e poi gli dico di scrivere nel database tutti i valori uno per uno.
Se nell'array ci sono 5 valori dovrebbe scrivere 5 record...
il risultato è che con un'array di 4 valori ne inserisce 7 ripetuti.

questo è il codice:

Codice PHP:
<?php 
function view($dirname){
        
$cartella opendir($dirname);
        while (
$file readdir($cartella)) {
        
$file_array[] = $file;
        }
        
        foreach (
$file_array as $file) {
        
# se il file inizia con .. lo tralascio
        
if ( $file == ".." || $file == ".") {
        continue;
        }
        
#trovo i file e creo il link
        
$e=substr(strrchr($file"."), 0); // azzero l'estensione
        
$a=""//sostituisco lo spazio vuoto con il relativo codice html
        
$b=" ";
        
$nome1=ereg_replace($e$a$file); // sostituisco codice 1
        
$nome=ereg_replace("_""$b"$nome1); //sostituisco  codice 2
        
?>
        <div style="float:left;margin:10px;"><a href="<?php echo $dirname?>/<?php echo $file?>" title="<?php echo $nome?>">[img]<?php echo $dirname?>/<?php echo $file?>[/img]" height="100px" border="0px">
[b]<?php echo $nome?>[/b]</a></div>
<?
$NomiFiles 
$NomiFiles $file ';';
}
$NomiFiles substr($NomiFiles,0,strlen($NomiFiles)-1);
$arrayNomiFiles explode(';'$NomiFiles);
$countFiles count($arrayNomiFiles);

$con mysql_connect("HOST","USER");

if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("NOMEDB"$con);
  
foreach (
$arrayNomiFiles as $value)
{
// Execute query
mysql_query($sql,$con);
$sql "INSERT INTO File (FileName, FileFiles, FileNumber)
VALUES(
'
$dirname.zip', '$value', '$countFiles'
)"
;

mysql_query($sql,$con);
  }
mysql_close($con);

}
il tutto è uno scriptino dove si caricano immagini in archivi .zip ed in automatico vengono decompresse e si crea la galleria.
La funzione in questione è quella che dovrebbe inserire nel DB i dati inerenti lo zip e mostrare a video le immagini dell'archivio decompresso.

CARICANDO IL FILE 01.ZIP COMPOSTO DA 4 FILE AL SUO INTERNO (01.JPG,02.JPG,03.JPG,04.JPG) IL RISULTATO NEL DB E' QUESTO:

FileName___FileFIles____FileNumber
01.zip_____04.jpg______4
01.zip_____01.jpg______4
01.zip_____01.jpg______4
01.zip_____03.jpg______4
01.zip_____03.jpg______4
01.zip_____02.jpg______4
01.zip_____02.jpg______4

Perchè il file 04.jpg è l'unico a non venire duplicato?
Come faccio ad avere una tabella pulita senza inutili doppioni?

Io vorrei questo risultato qui:

FileName___FileFIles____FileNumber
01.zip_____01.jpg______4
01.zip_____02.jpg______4
01.zip_____03.jpg______4
01.zip_____04.jpg______4

Se mi aiutate ve ne sarò mega grato! grazie!!!!!!