PHP Script

Status
Niet open voor verdere reacties.

bagema

Gebruiker
Lid geworden
22 mrt 2008
Berichten
8
Beste lezers,

Hieronder heb ik een upload script,
alles werkt maar ik heb nu één vraag
Ik wil graag dat hij bestanden met de zelfde naam gaat vervangen
dus als iemand (beperkte toegang pagina) een bestand upload
dat, dat bestand wordt gebruikt en een eerder bestand met dezelfde naam
overschreven wordt... wie kan mij vertellen hoe ik dat voor elkaar krijg?

Alvast heel erg bedankt voor de reactie!!


Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>bestand uploaden</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php 
error_reporting(E_ALL); 

$map = "./uploadbestanden/"; // Map waar alles terecht komt 

function upload_file($fTmp, $fNew) { 
  if(file_exists($fNew)) { 
   return false; 
  } else { 
   copy($fTmp, $fNew); 
   return true; 
  } 
} 

if(IsSet($_POST['submit'])) { 
  for($i = 0; $i < count($_FILES['bestand']['name']); $i++) { 
   if(IsSet($_FILES['bestand']['name'][$i]) && is_uploaded_file($_FILES['bestand']['tmp_name'][$i])) { 
    if(!upload_file($_FILES['bestand']['tmp_name'][$i], $map.$_FILES['bestand']['name'][$i])) { 
     $error = true; 
    } 
   } 
  } 

  if(IsSet($error)) { 
   echo "Oeps, er ging wat mis, probeer het nog eens of neem contact op met de webmaster!"; 
  } else { 
   echo "Het is gelukt!! je rooster is aangepast"; 
  } 
} else { 
  if(IsSet($_POST['aantal'])) { 
   $aantal = $_POST['aantal']; 
  } else { 
   $aantal = 2; 
  } 

?> 
<form action="" method="post"> 
<input type="text" name="aantal" value="<?php echo $aantal; ?>" size="1"> <input type="submit" name="aantal_submit" value="Aantal bestanden"> 
</form> 

<form action="" method="post" enctype="multipart/form-data"> 
<?php 
  for($i = 0; $i < $aantal; $i++) { 
?> 
Bestand <?php echo $i + 1; ?>: <input type="file" name="bestand[<?php echo $i; ?>]"> <br>
<?php 
  } 
?> <br><br>
<input type="submit" name="submit" value="Uploaden"> 
</form> 
<?php 
} 
?> 
</body>
</html>
 
Dus in feite wil je het onderstaande stukje code uitschakelen of vervangen door het maken van een backup van de oude (je weet maar nooit) en de nieuwe behoudt zijn eigen naam en vervangt daarmee de oude?
Code:
 if(file_exists($fNew)) { 
   return false; 
  }
 
ja dat klopt inderdaad, back up hoeft niet persé trouwens,
maar het gaat erom dat een bestaande bestand,
welke dus al 'online' staat vervangen kan worden door bovenstaande upload script
dus de bestaande mag overgeschreven worden
 
ik heb false verander in true maar het werkt nog nog,
wie weet wat ik moet aanpassen
of een ander script..

thxs
 
Misschien te simpel gedacht, maar als je:
PHP:
function upload_file($fTmp, $fNew) { 
  if(file_exists($fNew)) { 
   return false; 
  } else { 
   copy($fTmp, $fNew); 
   return true; 
  } 
}

vervangt door:

PHP:
function upload_file($fTmp, $fNew) { 
  if(file_exists($fNew)) { 
    rename($fNew, $fNew . 'bu');
  } 
  copy($fTmp, $fNew); 
  return true; 
}
 
Hey Top !!

Heb het even getest,
en het werkt !!!
heel erg bedankt !!!:thumb::thumb:

--update

ik zie dat ie nu dus van de vorige bestand bu achter de extensie zet,
als ik dat niet wil? dus wel een gelijknamige bestand uploaden,
en het al aanwezige bestand gewoon wordt overschreven
is dat ook een optie??
 
Laatst bewerkt:
Je zou deze kunnen proberen.
PHP:
function upload_file($fTmp, $fNew) {  
  if(file_exists($fNew)) {
   unlink($fNew);
  }  
  copy($fTmp, $fNew);  
  return true;  
}
 
Thxs !!!

Dat was 'm :thumb:

heel erg bedankt voor je hulp !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan