Ik ben bezig met een job systeem
waarbij mensen de mogelijkheid hebben om een open sollicitatie in te verzenden
alle ingezonden sollicitaties komen in het database te staan.
Nu heb ik dat het bestandsnaam van de cv netjes word geupload onder een map die word aangemaakt met een unieke naam die ik mee geef naar het database
Ik wil nu dat ik in mijn overzicht op verwijderen kan drukken en de sollicitatiebrief word verwijderd met hun geuploade C.V.
Bij het laatste loop ik nu vast hoe haal ik bestandsnaam juist uit het database en verwijderd hij hem ook goed?
<?php
if($_GET["verwijderen"]) {
$delete_qry = "DELETE FROM sollicitatie WHERE id = '".$_GET["verwijderen"]."'";
$result = mysqli_query($mysqli, $delete_qry)
or die(mysqli_error($mysqli));
if($result==TRUE){
echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=overzicht.php">';
}
}
?>
Bestandsnaam word weg geschreven als :
upload/a67d6b30d3ba18072ff0b57a7b88b5de0ee1b744/chronologisch-cvsjabloon.doc
Met http://nl3.php.net/unlink kun je een file verwijderen. De manier om dit te doen is eerst de data van de solicitatie ophalen, vervolgens proberen je files te verwijderen en als dit gelukt is pas de delete in de database doen
Ik zat al te kijken bij unlink() alleen hij doet niet wat ik vraag overigens moet ik de bestandsnaam eerst explode en de map upload eruit zien te filteren die moet blijven bestaan en dan de map verwijderen waarin het bestand staat.
Dus moet ik eerst het juiste pad zien te selecteren,
zou iemand mij misschien klein voorbeeldje kunnen maken? ;)
Alvast bedankt!
:Edit zo even aangepast.. ;)
<?php
if($_GET["verwijderen"]) {
$check = $mysqli->real_escape_string($_GET["verwijderen"]);
$delete_qry = "DELETE FROM sollicitatie WHERE id = '".$check."'";
$result = mysqli_query($mysqli, $delete_qry)
or die(mysqli_error($mysqli));
if($result==TRUE){
echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=overzicht.php">';
}
}
?>
<?php
$naam ='upload/a67d6b30d3ba18072ff0b57a7b88b5de0ee1b744/chronologisch-cvsjabloon.doc';
$array = explode('/', $naam);
// In $array[0] zit upload
// In $array[1] zit a67d6b30d3ba18072ff0b57a7b88b5de0ee1b744
// In $array[2] zit chronologisch-cvsjabloon.doc
// Eerst het bestand weggooien en dan de map
unlink($naam);
unlink($array[0]./.$array[1);
?>
[size=xsmall]Toevoeging op 22/07/2014 15:30:33:[/size]
Je gebruikt nu twee verschillende manieren van mysqli.
Denk niet dat dat goed gaat.
Geweldig bedankt !
hiermee kan ik verder ;)
[size=xsmall]Toevoeging op 22/07/2014 15:46:16:[/size]
- Aar - op 22/07/2014 15:19:05
Ik hoop ook dat de sollicitaties buiten je web-root worden opgeslagen, en vooraf gecontroleerd worden qua toegang.
Hoe bedoel je buiten de web-root?
ik controleer zeker vooraf of de gebruiker toegang krijgt of niet overigens zijn het natuurlijk aparte pagina's als dat is wat je bedoelde ;)