At slette en fil fra serveren

Tags:    php mysql

Er der nogen som kan hjælpe mig med lidt kode til at slette en fil fra serveren?

Jeg har en database med en tabel "billeder". Heri er gemt oplysninger om billeder som er uploadet til en bestemt mappe på min server.

Jeg vil så gerne på en side hvor jeg udskriver alle billeder med et bestemt id lave et link "slet billede" som så skal slette det pågældende billede fra serveren samt fra databasen.

Henter billederne fra databasen:
Fold kodeboks ind/udPHP kode 






Indlæg senest redigeret d. 21.07.2013 17:54 af Bruger #17644
36 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
og for at andre skal have en chance for at vide hvad du snakker op, er her et link til en tidligere tråd hvor billed tabellen blev omtalt
http://www.udvikleren.dk/forum/40104/smarteste-maade-at-uploade-billede-og-gemme-img-url-i-database/

hvad indeholder disse 2 kollonner (ride, front) i billed tabellen ??,


hvordan ser din database ud
lav et database dump, så vi kan se tabellerne, og dermed sammenhængen




Indlæg senest redigeret d. 22.07.2013 11:06 af Bruger #16075
Jamen jeg vil jo faktisk gerne bruge dette:

Fold kodeboks ind/udPHP kode 


Det virker også helt fint.
Så er det bare at jeg skal have min deletephoto.php til at virke.
Og der har jeg forsøgt med:
Fold kodeboks ind/udPHP kode 





id, IMGurl, hestid, fotograf, ride, front
fotograf er det et navn eller en id ??, der er en en til mange relation mellem fortograf og billed ??, en fotogram kan tage mange billeder ikk, derfor bør fotograf i billed tabellen være et id altså fotografid
flere fotografer kan hedde det sammen (fornavn efternavn)


hvor sender du variablen sletMig over henne ??
så kommer du nogle sinde ind i din if sætning ??
if($_GET["sletMig"] == "yes"){


hedder billedet bare dit id ??
unlink($_SERVER["DOCUMENT_ROOT"]."/billeder2/".$_GET["id"]);
er der ikke nogle extension på dit billed ??, skal der være



Fotograf indeholder navne. Og det vil jeg gerne bibeholde.

Har forsøgt at ændre lidt i den, men det hjælper ikke.
Det er et stykke kode fra noget jeg fandt på nettet i går - har selvfælgelig fået lukket linket ned nu, så ved ikke om jeg kan finde det igen...


Fold kodeboks ind/udPHP kode 


IMGurl indeholder billedets url




du skal have 2 variabler over i din get
ca sådan (ej tested)
Fold kodeboks ind/udKode 


Fold kodeboks ind/udKode 

hvad udskriver den ved test ??




du skal have 2 variabler over i din get
ca sådan (ej tested)
Fold kodeboks ind/udKode 


Jeg har også id med. Den jeg har ser ud som din bortset fra at jeg også har "sletMig=yes" med


Fold kodeboks ind/udKode 

hvad udskriver den ved test ??


Har afprøvet dit forslag her, men det giver også bare en blank side og den sletter ikke noget fra hverken database eller server.
Når jeg har haft forsøgt at sætte noget ind for at få den til at udskrive fejl, så fungere det ikke. Men må prøve igen...

Kan det have noget betydning at IMGurl indeholder hele billedet url? altså startende fra http://www......




Indlæg senest redigeret d. 22.07.2013 17:46 af Bruger #17644

Kan det have noget betydning at IMGurl indeholder hele billedet url? altså startende fra http://www....

Ja, du må kun have selve sti'en og filnavn som parameter
Fold kodeboks ind/udKode 


unlink må kun indeholde img/hest.jgp, du må ikke have en protekol med


den rigtige løsning er dog kun at tage billed id'en med over og så slå op over i deletephoto.php url og rettigheder



Har ændret det nu, men det gør ingen forskel desværre.


"den rigtige løsning er dog kun at tage billed id'en med over og så slå op over i deletephoto.php url og rettigheder "

Det forstår jeg så ikke lige så meget af :$

Jeg kan altså ikke forstå hvorfor det ikke virker?

Fold kodeboks ind/udPHP kode 


I min test får jeg jo fint et link som dette:
deletephoto.php?id=19&IMGurl=billeder2/zensja_01-819.jpg



Indlæg senest redigeret d. 22.07.2013 18:27 af Bruger #17644
her mangler et & tegn
if( isset($_GET["IMGurl"]) & isset($_GET["id"]) ){
skal være
if( isset($_GET["IMGurl"]) && isset($_GET["id"]) ){


I min test får jeg jo fint et link som dette:
deletephoto.php?id=19&IMGurl=billeder2/zensja_01-819.jpg

ikke den test inde i deletephoto.php
den udskriver et array



Det eneste jeg får ud af af delete.php er en helt blank side.
Kan slet ikke få den til at skrive noget fejl eller andet....det er ØV



t