Op mijn site heb ik een uploadscriptje gemaakt. Werkt goed. Een php script kijkt in een dir en geeft alle foto's die erin staan weer. Perfect
Nu wil ik dat gebruikers niet alleen na een inlogsessie foto's kunnen uploaden, maar ook dat ze foto's kunnen verwijderen.
Het mooist zou zijn dat een script kijkt in de directory, alle foto's weergeeft met daaronder een link "verwijder". Als je daarop drukt een vraag om bevestiging krijft en vervolgens de foto wordt verwijderd.
Nu is mijn vraag, hoe krijg ik dit in godsnaam voor elkaar. Heb het een en ander geprobeerd met unlink(), maar lukt me niet.
while (false !== ($file = readdir($handle))) {
if (!is_dir($file)) {
# dit voorkomt dat directories of '.' en '..' in de array komen
$files[] = $file;
}
}
In delete.php kan je met unlink() de meegegeven file verwijderen. NB: voor het verwijderen van files moet je ALTIJD absolute paths gebruiken, dus geen URL.
Ook is het aan te bevelen om te controleren of $_GET['file'] in delete.php alleen letters of punten bevat (evt op jpg, gif of png eindigt). Anders kan iemand straks willekeurige files gaan deleten, dat is niet het grootste feest.
Goede nacht,
Adje
?Onbekende gebruiker
10-02-2004 08:45
Bedankt voor zover.
Het script werkt op zich. Ik zit nu nog met twee puntjes.
Ik zie nu nog alle bestandsnamen met daarachter een link om te verwijderen. Hoe krijg ik alle plaatjes zelf te zien? Ik heb ook even gekeken naar jou script, maar die laat een willekeurige zien. Ben nog niet zo'n php ster.
Het tweede puntje. Hoe gebruik ik die unlink() in delete.php precies? Zoals ik al zei...ben niet zo'n php ster. Ik probeer van alles, maar lukt me steeds net niet :-)
mijn script, zet alle files in de array $files. Daarna zoekt hij een random item uit uit de array.
Maar het gedeelte wat je nodig hebt is het gedeelte waar die files in de array gezet worden. De plaatjes zelf krijg je te zien door bij het doorlopen <img src="http://weg/naar/plaatjes/$file"> te echo'en. Niet te ingewikkeld dus.
kan je eens je error geven? Want waarschijnlijk kan je geen files deleten die je niet via php geupload hebt. Maar geef de foutmelding eens?
?Onbekende gebruiker
10-02-2004 15:29
Ik heb de plaatjes nu voor elkaar. En zo dat als ik op de plaatje klik delete.php wordt opgeroepen.
De volgende foutmelding volgt:
Warning: unlink(foto.gif): No such file or directory in delete.php on line 4