Fejl i løkke ved upload af billede
Jeg er ved at oprette en CMS-system, men får en fejl, når jeg prøver at gemme flere billeder fra samme side.Fejlen består af, at det kun er det første upload-field som uploader billedet der er valgt, og smider i db'en, nummer to gør ingenting.
Jeg paster koden herunder; Hvis der er nogen der kan hjælpe ville det være toppen.
KODEN PÅ SIDEN SOM MODTAGER FORM'EN:
----------------------------------------------
<?
$t =0;
$x =0;
while (list ($key, $val) = each ($_POST)) {
//--------------------------------------------------------------------------------------------------------------------------------------------------------
// UPLOAD
//--------------------------------------------------------------------------------------------------------------------------------------------------------
// ------------------------------------------------------------ DELETE EXCISTING FILE ---------------------------------------------
if (preg_match ("/delete_upload/i", $key) and $val=="on") {
list($no_use1, $no_use2,$delete_colname) = split ("_", $key, 3);
$sqldelete = "update ".$_POST['XXtablename']." set ".$delete_colname."='' where id =".$_POST['XXrowid'];
mysql_query($sqldelete) or die(mysql_error());
if (mysql_affected_rows() == 0){
echo "En error occured while deleting file.";
}else{
// -------------------- Delete file from server --------------------
if (file_exists($_POST['upfil_delete_filename'])){
unlink($_POST['upfil_delete_filename']);
}
// -------------------- Delete file from server --------------------
}
// ------------------------------------------------------------ DELETE EXCISTING FILE ---------------------------------------------
} elseif ($key == "upfil_tablename" and $_FILES['upfil']['name']) {
// ------------------------------------- Location for the uploaded files -------------------------------------
$konfiguration["upload_bibliotek"] = "../upload";
// ------------------------------------- Location for the uploaded files -------------------------------------
// ------------------------------------- Max filesize -------------------------------------
$konfiguration["max_stoerrelse"] = "2000";
// ------------------------------------- Max filesize -------------------------------------
// ------------------------------------- Check PHP-version -------------------------------------
list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
die("This script only works with PHP 4.0.0 or newer!");
}
// ------------------------------------- Check PHP-version -------------------------------------
// ------------------------------------- 4.1.x og 4.0.x. -------------------------------------
if($minor < 1) {
$_FILES = $HTTP_POST_FILES;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}
// ------------------------------------- 4.1.x og 4.0.x. -------------------------------------
// ------------------------------------- Create new filename and upload's it -------------------------------------
list ($tempfile,$tempext) = split("\.",$_FILES['upfil']['name']);
$newfilename = $_POST['upfil_tablename']."_".$_POST['XXrowid']."_".round(rand(1,10000)).".".strtolower($tempext);
$til = $konfiguration["upload_bibliotek"] . "/".$newfilename;
$fra = $_FILES["upfil"]["tmp_name"];
if(function_exists("move_uploaded_file")) {
move_uploaded_file($fra, $til);
$update .= " , ".$_POST['upfil_colname']."='".$newfilename."'";
} else {
copy($fra, $til);
$update .= " , ".$_POST['upfil_colname']."='".$newfilename."'";
}
// REMOVE EXISTING PICTURE
$sqldelete = "SELECT ".$_POST['upfil_colname']." FROM ".$_POST['XXtablename']." WHERE id ='".$_POST['XXrowid']."'";
$rsdelete = mysql_query($sqldelete);
$rowdelete = mysql_fetch_object($rsdelete);
$delete = $konfiguration["upload_bibliotek"] . "/".$rowdelete->{$_POST['upfil_colname']};
print $delete;
if (file_exists($delete)){
unlink($konfiguration["upload_bibliotek"] . "/".$rowdelete->{$_POST['upfil_colname']});
}else{
Print "<br><br>DID NOT DELETE<br><br>";
print $konfiguration["upload_bibliotek"] . "/".$rowdelete->{$_POST['upfil_colname']};
}
// REMOVE EXISTING PICTURE
$sqlpic = "UPDATE ".$_POST['XXtablename']." SET". $update." WHERE id ='".$_POST['XXrowid']."'";
$sqlsave = str_replace("SET ,", "SET", $sqlpic);
mysql_query($sqlsave) or print mysql_error();
}
?>
