login  Naam:   Wachtwoord: 
Registreer je!
 Forum

bestand verwijderen map

Offline rredspike1 - 22/01/2010 01:26 (laatste wijziging 22/01/2010 01:26)
Avatar van rredspike1Lid Een goedennacht allemaal,

ik heb een upload map en daar staan natuurlijk bestanden in, alleen nu heb ik een while loop gemaakt die alle bestanden uitleest, dit werkt en ik kan ze bekijken, maar nu wil ik ze ook kunnen verwijderen hoe doe ik dit?

Heb de volgende code, alleen het werkt niet, kan iemand mij hiermee helpen?

  1. <?php
  2. if ($verwijderen = $_GET['verwijder'])
  3. {
  4. unlink($verwijderen);
  5. }
  6.  
  7. $map = "../../Uploads/"; // Map waar alles geupload wordt
  8. // bekijkt of de map bestaat!
  9. if (is_dir($map))
  10. {
  11. if ($open = opendir($map))
  12. {
  13. while(($read = readdir($open)) !== false)
  14. {
  15. if ($read != "." && $read != "..")
  16. {
  17. echo '<b><a class="beheer_link" href="admin.php?page=media_update&verwijder='.$map.$read.'">Verwijderen</a></b> - <a class="beheer_link" href="'.$map.'/'.$read.'" target="_blank"><b>Bekijken</b></a> - '.$read.'<br>';
  18. }
  19. }
  20. closedir($open);
  21. }
  22. }
  23. ?>

9 antwoorden

Gesponsorde links
Offline lemoinet - 22/01/2010 08:15
Avatar van lemoinet PHP gevorderde PHP.net: unlink
Offline rredspike1 - 22/01/2010 12:38
Avatar van rredspike1 Lid Dat had ik ook al in mn script staan maar hoe verwerk ik dit?!
Offline jaronneke - 22/01/2010 12:57
Avatar van jaronneke MySQL interesse
rredspike1 schreef:
Dat had ik ook al in mn script staan maar hoe verwerk ik dit?!

Lees de informatie dan die wordt gegeven door lemoinet
Offline rredspike1 - 22/01/2010 13:43
Avatar van rredspike1 Lid Makkelijk praten!

Volgens mij snap jezelf niet eens hoe je dit moet verwerken 
Erg makkelijk om te zeggen lees de informatie, wat ik uberhaupt al aan doen ben/was.

Offline lemoinet - 22/01/2010 14:07
Avatar van lemoinet PHP gevorderde wat staat er in $_GET['verwijder'] ?

als er enkel de filename instaat, moet je ook nog het path opgeven
Offline PHPJonas - 14/02/2011 18:39
Avatar van PHPJonas Lid Geeft het script een error?
Het ziet er op het eerste zicht wel goed uit.
Offline GJ2086 - 21/02/2011 07:35
Avatar van GJ2086 Nieuw lid Mag ik je er wel op wijzen dat dit een potentieel beveiligingslek binnen je website is?
Je hebt totaal geen controle in deze opzet, en kan potentieel elk willekeurig bestand (wanneer je genoeg rechten hebt) verwijderen.

Bedankt door: valles10
Offline svm - 24/02/2011 13:09 (laatste wijziging 24/02/2011 13:15)
Avatar van svm PHP ver gevorderde Probeer anders een rmdir() ipv unlink().
Unlink is namelijk bedoeld voor bestanden.

Je kunt een map niet verwijderen zolang er nog bestanden in staan (afgezien van de bestanden . en ..).
Bij het verwijderen van een map dien je deze dus eerst uit te lezen, waarbij je elk bestand verwijderd (met rmdir()) en vergeet daarbij ook niet eventuele submappen: ga te werk met een functie die je in geval van een submap opnieuw op die submap aanroept).

Edit:
Ik lees nu nog een keertje nauwkeuriger en zie dat het om bestanden gaat; daarvoor bovenstaande reacties ;).
Gebruik de mijne maar als je ook een map wilt verwijderen .

ArieMedia schreef:
Regel 2 heb je = staan, dit moet == zijn.

En verbeter je beveiliging.. als jij dit script draait dan kan ik gemakkelijk jou hele website weghalen (ja alles!)
Nee, hij maakt hierbij de variabel verwijderen aan die de waarde krijgt van $_POST['verwijder']: immers bestaat $verwijderen nog niet dus kan nooit aan de voorwaarde voldaan worden.
Offline ArieMedia - 24/02/2011 13:11 (laatste wijziging 24/02/2011 14:43)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Regel 2 heb je = staan, dit moet == zijn.

En verbeter je beveiliging.. als jij dit script draait dan kan ik gemakkelijk jou hele website weghalen (ja alles!)

en waar komt $verwijderen vandaan?
Als dit niet je complete script is, zal je dan deze kunnen posten (na het verbeteren van mijn aangegeven punten. Ik weet nu namelijk niet wat er allemaal gebeurd.  

Citaat:
Nee, hij maakt hierbij de variabel verwijderen aan die de waarde krijgt van $_POST['verwijder']: immers bestaat $verwijderen nog niet dus kan nooit aan de voorwaarde voldaan worden.
Dus klopt wat ik zeg
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s