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!!!!!!