Ik wilde graag een delete page maken, waar men foto's kan verwijderen. Ik krijg alleen telkens de volgende error terug.
Warning: unlink() [function.unlink]: Permission denied in C:\wamp\www\applicaties\H7\yapa_delete.php on line 18
Warning: unlink() [function.unlink]: Permission denied in C:\wamp\www\applicaties\H7\yapa_delete.php on line 19
ik heb de map waarnaar hij verwijst ook gechmod naar 666, of 777. Maar als ik naar de eigenschappen kijk staat ie op read only, zet ik dat uit, en kijk ik vervolgens nog een keer staat ie er weer :/. Of ligt het niet aan dat.
aan je bestandsverwijzing te zien werk je met een windows server? (C:\..)
windows is daar best vervelend in, je moet even de optie Allow inheritable permissions from parent to propagate to this object uitzetten en dan zou het moeten werken
vervolgens klik je op 'COpy' en dan kan je de rechten aanpassem
//Als de pagina zichzelf heeft aangeroepen(=de administrator heeft het verwijderen bevestigd),
//is de flag 'bevestiging' gezet.
//In dat geval kan de DELETE-query woren uitgeveord.
if(isset($_POST['bevestiging'])){
//$id casten naar (int) om sql-injection te voorkomen
$id = (int) $_POST['id'];
$query = "DELETE FROM yapa_photos WHERE id='" . $_POST['id'] . "'";
$result = safe_query($db, $query);
if($result){
unlink($_POST['$thumb']);
unlink($_POST['$thumb1']);
echo "Het bestand <b>".$_POST['$thumb']."</b> is succesvol verwijderd.<br />\n";
echo "Terug naar de <a href=\"yapa_eigen_photo.php?memberid=$_SESSION[uploader_id]\">homepage</a>";
}else{
echo "Het bestand <b>".$_POST['$thumb']."</b> bestaat niet.<br />\n";
echo "Terug naar de <a href=\"yapa_eigen_photo.php?memberid=$_SESSION[uploader_id]\">homepage</a>";
}
}
else{
//de pagina heeft zichzelf nog niet aangeroepen,
//eerst om een bevestiging vragen.
//lezen welke record opgehaald moet worden.
if(isset($_GET['id'])){
$id = (int) $_GET['id'];
}
else{
//geen id meegeven, terugsturen naar de admin-pagina
header("location: yapa_eigen_photo.php");
}
//De te verwijderen record inlezen en op het scherm tonen
//ter bevestiging van verwijdering
$query = "SELECT * FROM yapa_photos WHERE id='$id'";
$result = safe_query($db, $query);
?>
<html>
<head>
<title> YAPA: Foto verwijderen</title>
</head>
<body>
<h2>YAPA -Een foto verwijderen</h2>
<?php
//eerst array resetten, omdat hiervoor al informatie is gebruikt om de naam van de
//fotograaf naar het scherm te schrijven
mysqli_data_seek($result, 0);
//te verwijderen record op het scherm zetten
while($record = mysqli_fetch_array($result)){
//bestandsnaam van de foto samenstellen
$thumb = "uploads/thumbnails/tn_" . $record['photo_filename'];
$thumb1 = "uploads/" . $record['photo_filename'];
echo "<img src=\"$thumb\" border=\"0\" />";
?>
<!-- HTML-Formulier met knoppen voor Verwijderen of Terug en verborgen velden om $id en $bevestiging door te geven-->
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<input type="hidden" name="bevestiging" value="1" />
<input type="hidden" name="id" value="<?php echo $id ?>" />
<input type="hidden" name="thumb" value="<?php echo $thumb ?>" />
<input type="hidden" name="thumb1" value="<?php echo $thumb1 ?>" />
<input type="submit" value="Ja, verwijderen" />
<input type="reset" value="Nee, terug" onclick="javascript:history.go(-1);" />
</form>
<a href="yapa_index.php">Terug naar de homepage</a>
<?php
}//einde van de while lus
}//einde van de else
?>
</body>
</html>
Rechtermuisknop -> eigenschappen -> lezen & schrijven wel aan staan?
Misschien heeft het script niet de rechten om het te verwijderen? Als je een bestand aanmaakt met PHP en hem dan met hetzelfde PHP script probeert te verwijderen, lukt dat dan wel!?