Avatar billede spookym Nybegynder
22. maj 2004 - 22:51 Der er 11 kommentarer og
1 løsning

Billed sti

Hej alle
Jeg er ved at lave et projekt så behøver lidt hjælp.
Jeg skal have lavet en database hvor en sti til en billed fil er gemt. Altså fx /tmp/billed/filnavn. Har læst der er mange der siger at det er en dum ide at gemme selve billed filen i databasen, så hvordan gør man det på den anden m`åde ?

Hilsen Henrik
Avatar billede phpwiz Nybegynder
22. maj 2004 - 23:05 #1
jeg ville gør det på den måde at lave en form hvor du kan uploade billederne direkte til serveren:
omdøber billederne så deres filnavn hedder det ID som det passer med i databasen + det (extension) format .gif .jpg .bmp osv som det måtte have.

så du skal bl.a. have nedenstående felter i din database

ID : int autoincrement
extension : VARCHAR

Du kender jo det sted på serveren hvor billederne er uploadet via din form,

så kan du jo vise billederne vha. :

<img src="/PATH/TO/BILLEDERNE/<?php echo $r['id'].".".$r['extension'];?>">

så kunne det se således ud :

<img src="/images/2.jpg">

det er så billedet der ligger på id = 2 i databasen med extension = jpg

så er det også muligt at have andre felter i din database, tekst og hvem der har uploadet osv osv ...

håber det hjalp lidt...
Avatar billede spookym Nybegynder
23. maj 2004 - 00:18 #2
Jeg tænkte nu ikke på en form, Mere hvordan databasen skal se ud. Altså hvordan man skriver det ind så i tablen er linket til et billed.
er det til at forstå ? eller skal jeg forklare mig nbedre :P
Avatar billede vallemanden Nybegynder
23. maj 2004 - 02:04 #3
Nu ved jeg ikke om jeg har 'fattet' dit spørgsmål rigtigt men prøv at kigge her

www.night.dk/tabellen.htm

Vallemanden
Prog@night.dk
Avatar billede sukos Juniormester
23. maj 2004 - 02:18 #4
Du kan godt nøjes med filnavn alene, hvis du vil.
Så skal feltet være UNIQUE, d.v.s ingen andre filer kan hedde det samme.

I dit script, definere du så stien til billedet,
$billedesti = "/images/";

så henter du filnavne fra db'en,

$getpic = mysql_query("SELECT `filnavn` FROM `billeder`") or die (mysql_error());
while($vis = mysql_fetch_object($getpic)) {
echo"<img src=\"". $billedesti . $vis->filnavn ."\">";
}

Har selv lige lavet et "galleri", hvor jeg har id, filnavn, kategori i DB'en
id bruges a'la phpwiz, 1.jpg som så er thumbnail til selve billedet, "filnavn"
kategori bruges til at lave, ja, kategorier! :O)
M.h.t. hvornår filen er lavet, kan du bruge filemtime() til at finde tidspunkt.
Avatar billede spookym Nybegynder
23. maj 2004 - 11:36 #5
Du har fat i noget vallemanden.
Det er hvordan jeg skal lave min database. Ikke hvordan jeg for det frem på en side, men hvordan databasen skal se ud når man taster det ind i mysql
Avatar billede spookym Nybegynder
23. maj 2004 - 11:38 #6
Men tak for svaret om hvordan man for det frem på en side :)
Avatar billede vallemanden Nybegynder
23. maj 2004 - 16:15 #7
hvad er det så mere du mangler?
er det hvordan du laver selve databasen?
Avatar billede spookym Nybegynder
23. maj 2004 - 17:56 #8
ja det er det
Avatar billede vallemanden Nybegynder
24. maj 2004 - 00:18 #9
har du PHPMyADMIN?
ellers download den
Avatar billede spookym Nybegynder
24. maj 2004 - 08:33 #10
Jep det har jeg
Avatar billede sukos Juniormester
24. maj 2004 - 08:47 #11
Når du er logget ind, klikker du på dit databasenavn.
Derefter klikker du på "Sql", så får du et textarea og en "gennemse".
hvis du bruer textarea'et, kan du copy/paste flg.


CREATE TABLE `galleri` (
  `id` mediumint(6) NOT NULL auto_increment,
  `filnavn` varchar(160) NOT NULL default '',
  `kategori` varchar(160) NOT NULL default '',
  `tekst` text NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `filnavn` (`filnavn`)
) TYPE=MyISAM AUTO_INCREMENT=20 ;

Så får du en tabel, "galleri", hvor,
"id" øges med en hver gang du laver et nyt row.
"filnavn" er navnet på filen, og er unikt, altså ikke to filer med samme navn
"kategori" til at inddele billeder i kategorier
"tekst" til at gemme evt. text til billedet.

id kan også bruges til at navngi' en thumbnail
Avatar billede spookym Nybegynder
24. maj 2004 - 09:56 #12
Tak for det :) det noget jeg kunne bruge.
Et sidste spørgsmål. Hvad betyder "default" altså hvorfor skal det skrives med ?
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
Computerworld tilbyder specialiserede kurser i database-management

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