Avatar billede alex15 Nybegynder
04. marts 2008 - 20:51 Der er 9 kommentarer og
1 løsning

Billede system med uploading fra brugere via evt mysql

Hej Eksperter

SKAL BRUGE TEORIEN BAGDET. skal IKKE have hele løsningen eller noget. bare rolig ;)

Sådan. Så har jeg fået lavet et nyhedssystem samt et forum. Min næste opgave går så ud på at lave et billede system.

Billedsystemet skal have følgende muligheder:

- Begrænset adgang til billeder (det skal kun være bruger af siden som har adgang til billeder. - Dette tror jeg ikke er så svært og lave, har jeg nemlig allerede gjort med resten af siden.)

- Billed oversigt (Der skal være en oversigt og de sidste mapper / billedeserie som er blevet uploadet)

- Billed visningen (Her vil jeg bare have at billederne bliver vist i en lang række der ned af.)

- Brugere skal have mulighed for selv og uploade billeder til server / databasen.

---

Men hvordan fungere sådan noget normalt? Normalt ligger man jo billederne ind i en mappe. og så linker til dem i ens html eller php fil.

Men kan man gøre det via ens database / mysql? eller sådan noget? på den måde kan fremmede heller ikke bare gå ind og indtaste www.minside.dk/billeder/billede1.jpg - hvis ens placering af mappe samt billede lå der.

På forhånd tak :)

mvh. Alex
Avatar billede coderdk Praktikant
05. marts 2008 - 08:24 #1
"på den måde kan fremmede heller ikke bare gå ind og indtaste www.minside.dk/billeder/billede1.jpg - hvis ens placering af mappe samt billede lå der."

Du kan via din begrænsning enten beskytte mappen med .htaccess således:

Order allow,deny
Deny from all

Så kan man ikke tilgå dem direkte. Alternativt kan du ligge dem i en mappe "uden for" web-root. Ved begge metoder skal du tilgå billedet vha et php-script som så også står for brugerbegrænsningen.

Du kan godt smide billederne i en MySQL-database, men det er der ikke nogen videre grund til at gøre. Du skal bruge et BLOB-felt, og dine IMG-tags refererer så til billedet vha et PHP-script som henter billedet fra databasen.
Avatar billede alex15 Nybegynder
06. marts 2008 - 00:21 #2
"Du kan via din begrænsning enten beskytte mappen med .htaccess således:"

- Okay, lyder jo meget smart. Men hvor gør man det henne?

Men det lyder jo som om det er den først metode som ville være den nemmeste.. Også for mig selv om admin. Så kan jeg altid lave en backup af hele ens billed serie. bare ved at kopier mappen over til ens backup disk. eller hva?
Avatar billede coderdk Praktikant
06. marts 2008 - 00:31 #3
Opret en fil .htaccess i mappen du vil beskytte, som har indholdet:

Order allow,deny
Deny from all

Så skal du bare bruge et script, f.eks. i mappen før der hedder hent.php som checker om brugeren har rettigheder og så bare laver en readfile() på det billede der skal hentes
Avatar billede alex15 Nybegynder
06. marts 2008 - 00:48 #4
Arh. ja okay. Tro nogenlunde jeg er ved at forstå hvordan det kan gøres.

Godt nok har jeg aldrig rodet med dette .htaccess før. Så aner overhoved ikke hvordan man gør. Kender du nogle gode danske tutorial?

Så kunne man evt ligge filen .htaccess i mappen minside/billeder - Og så have ens undermapper minside/billeder/hold1/serie1/billede1.jpg

Eller skal filen være præcis én mappe under mappen med billederne i?

Tror godt jeg forstår / ved hvordan jeg laver den der hent.php fil, som skal tjekke om brugeren har rettigheder til at gå ind i næste mappe. Men hvad mener du med readfine()? den del forstår jeg ikke helt. :)
Avatar billede coderdk Praktikant
06. marts 2008 - 01:09 #5
readfile() læser bare en fil og spytter den ud til browseren :)

Kender desværre ingen .htaccess-tutoruials på dansk, Apache har en på engelsk:http://httpd.apache.org/docs/2.0/howto/htaccess.html

Foldere under mappen med .htaccess arver - dvs. du behøver kun én...
Avatar billede alex15 Nybegynder
06. marts 2008 - 11:45 #6
"readfile() læser bare en fil og spytter den ud til browseren :)"

Er denne readfile() det samme som en normal xxx.php fil eller hva? sorry men forstår det ikke rigtig. Menner fungere det sådan at jeg fra min php fil henter oplysninger fra readfile, som så henter oplysninger fra mappen med billeder? eller hva? - altså:

minfil.php -> readfile() -> mappen med med billeder?

Og hvad for en type fil skal dette være? altså readfilen?

"Kender desværre ingen .htaccess-tutoruials på dansk," - Nej okay, det er der ikke noget at gøre ved så. Må bare prøve mig lidt frem og se om jeg kan få det til at fungere. eller må jeg jo oprette et spøgsmål her inde.

Men skal man slet ikke taste noget ind i en mysql server så? Men kan bare oprette denne .htaccess file. og så ved browseren automatisk at folk uden adgang ikke kan komme ind og hente oplysninger / billeder fra  den pågældende mappe.

"Foldere under mappen med .htaccess arver - dvs. du behøver kun én..."
Okay, perfekt.

- Men er .htaccess et nyt sprog? eller er det bare en lille bestemt fil?
Avatar billede coderdk Praktikant
06. marts 2008 - 14:49 #7
Nej readfile() er bare en indbygget PHP-funktion der læser en fil og outputter den til browseren :) http://dk2.php.net/readfile

.htaccess-filen nægter ALLE også dem som har lov, finten er at du lader et PHP-script "gå indenom" og læse filerne - readfile() er ligeglad med om apache tillader at tilgå filerne. Dit hent.php-script skal bare ikke ligge hvor .htaccess-filen er :)

.htaccess er en fil du kan oprette i en folder på en apache webserver til at lave småindstillinger på. I mit link ovenover kan du se lidt om hvad du kan med den...
Avatar billede alex15 Nybegynder
06. marts 2008 - 15:05 #8
ja okay. synes godt nok det lyder svært, må jeg nok indromme. Men sådan var det jo også med php i starten. Det er sikkert noget man bare lige skal vænne sig til.!
Avatar billede alex15 Nybegynder
30. juni 2008 - 13:29 #9
Hej Coderdk

Endte med at få det hele til at fungere korrekt. Via htaccess fil samt en readfile.

Så laver du ikke lige et svar, så jeg kan lukke spørgsmålet?
Avatar billede coderdk Praktikant
30. juni 2008 - 15:54 #10
Det lyder godt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester