php bestand verwijderen uit directory

Gestart doorThijmgrijs27 reacties43 weergaven

28 berichten · pagina 2 van 2

Thijmgrijs

Lid · Topicstarter

Berichten
968
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Dan had je moeten zien dat de fout van regel 5 was dat er een ) te weinig stond om de if te sluiten.
Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8


if($_GET[act] == del)
{

if(file_exists(uploads/ + $_GET[file])
{

unlink(uploads/ + $_GET[file]);
}
}


Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8


if($_GET[act] == del)
{

if( file_exists(uploads/ . $_GET[file]) ) // <- Dit haakje dus
{
unlink(uploads/ . $_GET[file]);
}
}


Als ik op verwijder klik, word het bestand dus niet verwijderd...
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Bestaat je $_GET[file] wel??
Echo de inhoud uit je unlink eens?
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Aarclay schreef:
Bestaat je $_GET[file] wel??
Echo de inhoud uit je unlink eens?
Beter de inhoud van de unlink wel buiten de if echoen
0
Thijmgrijs

Lid · Topicstarter

Berichten
968
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nogmaals de vraag,
Wie kan het werkend maken?
Beloning verhoog ik naar 0,5 punten.
0
Berichten
6.144
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php
$files[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/glob"]glob[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]uploads/*.*[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]actie[/COLOR][COLOR= #007700]] ==[/COLOR] [COLOR= #DD0000]delete[/COLOR] [COLOR= #007700]&&[/COLOR] [URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]file[/COLOR][COLOR= #007700]]) &&[/COLOR] [URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]file[/COLOR][COLOR= #007700]]) !=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) {[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/file_exists"]file_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]uploads/[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]file[/COLOR][COLOR= #007700]])) {[/COLOR]
        [URL="http://www.php.net/unlink"]unlink[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]uploads/[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]file[/COLOR][COLOR= #007700]]);
    }
}[/COLOR]

[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/is_array"]is_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$files[/COLOR][COLOR= #007700])[/COLOR] and [URL="http://www.php.net/count"]count[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$files[/COLOR][COLOR= #007700])) {[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<table>[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/foreach"]foreach[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$files[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$file[/COLOR][COLOR= #007700]) {[/COLOR]
      [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<tr>
        <td>[/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/basename"]basename[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000]</td>
        <td> - <a href="[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$file[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]">Download</a> / <a href="?actie=delete&file=[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$file[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]">Verwijder</a></td>
      </tr>[/COLOR][COLOR= #007700];
    }[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]</table>[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<p>Er zijn geen bestanden gevonden</p>[/COLOR][COLOR= #007700];
}[/COLOR]

?>


Niet getest, maar zou moeten werken denk ik.
Ik denk wel dat je de rechten van dit bestand aan moet passen naar 777 o.i.d.
0
Thijmgrijs

Lid · Topicstarter

Berichten
968
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Jponsen schreef:
[COLOR= #0000BB]<?php
$files[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/glob"]glob[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]uploads/*.*[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]actie[/COLOR][COLOR= #007700]] ==[/COLOR] [COLOR= #DD0000]delete[/COLOR] [COLOR= #007700]&&[/COLOR] [URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]file[/COLOR][COLOR= #007700]]) &&[/COLOR] [URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]file[/COLOR][COLOR= #007700]]) !=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) {[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/file_exists"]file_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]uploads/[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]file[/COLOR][COLOR= #007700]])) {[/COLOR]
        [URL="http://www.php.net/unlink"]unlink[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]uploads/[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]file[/COLOR][COLOR= #007700]]);
    }
}[/COLOR]

[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/is_array"]is_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$files[/COLOR][COLOR= #007700])[/COLOR] and [URL="http://www.php.net/count"]count[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$files[/COLOR][COLOR= #007700])) {[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<table>[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/foreach"]foreach[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$files[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$file[/COLOR][COLOR= #007700]) {[/COLOR]
      [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<tr>
        <td>[/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/basename"]basename[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000]</td>
        <td> - <a href="[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$file[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]">Download</a> / <a href="?actie=delete&file=[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$file[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]">Verwijder</a></td>
      </tr>[/COLOR][COLOR= #007700];
    }[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]</table>[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<p>Er zijn geen bestanden gevonden</p>[/COLOR][COLOR= #007700];
}[/COLOR]

?>
Niet getest, maar zou moeten werken denk ik.
Ik denk wel dat je de rechten van dit bestand aan moet passen naar 777 o.i.d.

Ik heb alles wat naar 777 moest aangepast naar 777.
Als ik op verwijder klik word ik terug naar de home gelinkt.
Tevens verwijderd hij het bestand niet van mn ftp, wat ik raar vind...
Dus het staat er nog gewoon op na het klikken van verwijderen.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Thijm,

Je word naar de home gelinkt omdat hij in het begin van je script checkt of die act op delete staat, en erna gaat ie gewoon verder met het script.

Dat is dus de reden van dat.

Dan verder; je bestand word dus NIET verwijderd?

Wat je moet doen is: DEBUGGEN!!!
Wat houd dat in? Dit:
1) Error reporting aanzetten zodat je ziet waarom unlink niet werkt.
2) Kijken of je actie wel word uitgevoerd door een echo ergens te zetten
3) Kijken of je paths wel goedzitten
4) Bij die file_exists nog een else zetten om te zien of het aan unlink() ligt of aan file_exists().

Debuggen moet je leren!!!
0
Thijmgrijs

Lid · Topicstarter

Berichten
968
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Thijm,

Je word naar de home gelinkt omdat hij in het begin van je script checkt of die act op delete staat, en erna gaat ie gewoon verder met het script.

Dat is dus de reden van dat.

Dan verder; je bestand word dus NIET verwijderd?

Wat je moet doen is: DEBUGGEN!!!
Wat houd dat in? Dit:
1) Error reporting aanzetten zodat je ziet waarom unlink niet werkt.
2) Kijken of je actie wel word uitgevoerd door een echo ergens te zetten
3) Kijken of je paths wel goedzitten
4) Bij die file_exists nog een else zetten om te zien of het aan unlink() ligt of aan file_exists().

Debuggen moet je leren!!!
Ik vraag niet om uit uitleg ook al is dat handig.
Ik vraag het in het topic of iemand het voor mij in elkaar wil flansen voor een beloning.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Als je geld gaat vragen om je probleem op te lossen ga je het natuurlijk nooit leren.
0
Thijmgrijs

Lid · Topicstarter

Berichten
968
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Als je geld gaat vragen om je probleem op te lossen ga je het natuurlijk nooit leren.
Waar slaat dit op?
Lezen blijft moeilijk.
IK geef 0,5 beloning voor wie het oplost.

of iemand het voor mij in elkaar wil flansen voor een beloning.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Ja dat is idd een foutje van mijn kant maar de boodschap blijft hetzelfde; als je nu niet leert debuggen en geld geeft voor je probleem op te lossen zal het héél moeilijk zijn om verder te gaan met programmeren.
0
Thijmgrijs

Lid · Topicstarter

Berichten
968
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Ja dat is idd een foutje van mijn kant maar de boodschap blijft hetzelfde; als je nu niet leert debuggen en geld geeft voor je probleem op te lossen zal het héél moeilijk zijn om verder te gaan met programmeren.
Ik zit momenteel op een opleiding, waar ik net 3 dagen mee ben begonnen.
Dus ik zal dat debuggen nog wel uitgebreid gaan behandelen de komende 3 jaren zodat ik het wel zal snappen. Maak je daar maar geen zorgen over.

Ik kom hier op dit moment niet uit, dus ik vraag er hulp om.
Als dat mijn keuze is, dan is dat mijn keuze op dit moment.

Mocht ik wat verder zijn op mijn opleiding dan snap ik dat wel allemaal en kan ik uit het meeste zelf uitkomen, maar zulke dingetjes zie ik nog niet in (En daarvoor hebben wij de Les Test op onze school, om je code te controleren en te debuggen die krijgen wij in de 2de periode van het eerste jaar, dus na de eerste 10 weken).
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Tja, keuzes he...

Of wachten tot iemand zich meldt, of zelf wat proberen.
Ik denk dat als je het laatste koos, dat je probleem al lang opgelost was.
Net wat Raaoul zegt met die vier stappen, het script kan je in vijf minuten al gedebugged hebben en werkend hebben gemaakt.

Maar goed, het is jouw keuze.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren