Avatar billede jacob_m Nybegynder
03. juli 2002 - 21:37 Der er 28 kommentarer og
1 løsning

Hive billeder ud af database ???

Jeg har en database hvor der er nogle billeder I, det er jo fint..

Men hvordan f***** hiver jeg så data´en (her et billede) ud og for det vist ?

MIn database ser således ud ?

ID      Data    Name      Type      Size
---------------------------------------------------
int(4)  longblob varchar(50) varchar(50) varchar(50)

Er der nogen der kan hjælpe ?!
Avatar billede disky Nybegynder
03. juli 2002 - 21:47 #1
gem billederne som filer og gem kun pathen til billederne i basen.
Avatar billede jacob_m Nybegynder
03. juli 2002 - 21:51 #2
Ja... Det er der mange der siger..... Men jeg har vlagt denne fordi at de er mere brugervenligt... Ikke for mig men sleve brugeren..
Avatar billede Slettet bruger
03. juli 2002 - 22:00 #3
mere brugervenligt? Du kan da blot lave et uploadscript, så er det da det samme.
Avatar billede jacob_m Nybegynder
03. juli 2002 - 22:01 #4
nu vil jeg så have det på den måde..
Avatar billede disky Nybegynder
03. juli 2002 - 22:11 #5
Brugeren opdager ALDRIG forskellen, jo okay hvis sitet bliver belastet tager det længere tid at hive store data mængder ud fra basen.
Avatar billede jacob_m Nybegynder
03. juli 2002 - 22:58 #6
okay... Men vil du hjælpe mig med at lave scriptet så ?? Jeg er blevet overtalt...
Avatar billede disky Nybegynder
04. juli 2002 - 07:50 #7
jeg kan hjælpe dig me database delen af det, scriptet må du spørge om i det respektive sprogs gruppe.
Avatar billede muddi Praktikant
04. juli 2002 - 20:40 #8
Dette script kan du bruge til at uploade dine billeder:


<FORM ENCTYPE="multipart/form-data" ACTION="<?=$PHP_SELF; ?>?vareid=<?=$vareid;?>" METHOD="POST">
      <INPUT NAME="userfile" TYPE="file">
      <INPUT TYPE="submit" VALUE="Send Filen">
</FORM>
<?
if (isset($userfile)) {
    if (eregi("(\.jpg|\.gif|\.bmp)$", $userfile_name, $endelse)) {
        if (copy($userfile,"$DOCUMENT_ROOT/billeder/".$userfile_name)) {
            print "Originalt filnavn: ".$userfile_name."
            connect();
            mysql_query("UPDATE tabel SET billede = '".$billednavn."' WHERE vare_id = $vareid");
            close();
        }
    } else {
        print "Invalid filetype! Only .JPG, .GIF and .BMP's are allowed!";
    }
}
?>


Scriptet lægger det uploadede billede i en mappe der hedder /billeder som skal ligge i roden ...

Navnet på billedet bliver gemt i feltet 'billede' i tabellen 'tabel'!
Avatar billede muddi Praktikant
04. juli 2002 - 20:42 #9
Funktionerne connect() og close() er to funktioner jeg bruger til at åbne og lukke forbindelsen til databasen. Dem skal du lige ændre til det du selv bruger når du connecter...

/Muddi
Avatar billede jacob_m Nybegynder
08. juli 2002 - 10:22 #10
Muddi >> Jeg vil prøve ...
Avatar billede jacob_m Nybegynder
10. juli 2002 - 14:34 #11
Nu har jeg ændret lidt i det.... Og der kommer denne fejl:

Parse error: parse error in D:\web\greyz.dk_b9e2ck\picture\PHP\add.php on line 10.

Scriptet ser således ud:

<FORM ENCTYPE="multipart/form-data" ACTION="<?=$PHP_SELF; ?>?vareid=<?=$vareid;?>" METHOD="POST">
      <INPUT NAME="userfile" TYPE="file">
      <INPUT TYPE="submit" VALUE="Send Filen">
</FORM>
<?

if (isset($userfile)) {
    if (eregi("(\.jpg|\.gif|\.bmp)$", $userfile_name, $endelse)) {
        if (copy($userfile,"$D:\web\greyz.dk_b9e2ck\picture\billeder\".$userfile_name)) {
            print "Originalt filnavn: ".$userfile_name."
            mysql_connect(host, brugernavn, adgangskode);
            mysql_select_db(greyz_dk);
            mysql_query("UPDATE picture SET billede = '".$billednavn."' WHERE vare_id = $vareid");
            close();
        }
    } else {
        print "Invalid filetype! Only .JPG, .GIF and .BMP's are allowed!";
    }
}
?>

Hvad er fejlen ?? Linje 12 er:

            print "Originalt filnavn: ".$userfile_name."

Hjælp...
Avatar billede muddi Praktikant
10. juli 2002 - 16:57 #12
Linie 12 skal være:

print "Originalt filnavn: ".$userfile_name.";

Du manglede bare ; tilsidst! :D
Avatar billede jacob_m Nybegynder
10. juli 2002 - 17:00 #13
Avatar billede muddi Praktikant
10. juli 2002 - 17:00 #14
Du kan faktisk ændre det til:
print "Originalt filnavn: ".$userfile_name;
Avatar billede muddi Praktikant
10. juli 2002 - 17:02 #15
Hvad er det jeg skal kigge efter der?
Avatar billede muddi Praktikant
10. juli 2002 - 17:04 #16
Forresten skal du også lige oprette forb. til mysql og vælge en DB!
Bruger du funktionen close() eller har du bare glemt at slette den?
Avatar billede jacob_m Nybegynder
10. juli 2002 - 17:07 #17
hvordan er det nu man gør med connect()... Jeg plejer nemlig at bruge

mysql_connect
mysql_connect_db
Avatar billede jacob_m Nybegynder
10. juli 2002 - 17:08 #18
Så det ser sådan ud:

mysql_connect("host", "brugernavn", "kodeord");
mysql_select_db("database");
Avatar billede jacob_m Nybegynder
10. juli 2002 - 17:42 #19
muddi>> Kan jeg ikke få din e-mail så kan vi snakke videre.... ?
Avatar billede muddi Praktikant
11. juli 2002 - 02:41 #20
Jo, den er mc.muddi@get2net.dk, Du kan også fange mig på MSN Messenger med mh_skole@hotmail.com
Avatar billede muddi Praktikant
11. juli 2002 - 02:43 #21
Jeg har lagt noget kode til dig i et af dine andre spm. ang. connect() og close()
Avatar billede jacob_m Nybegynder
11. juli 2002 - 10:23 #22
Jeg har include´et MySQL_funktioner, og nu siger den at der er fejl i linje 9 som er:
,if (isset($userfile)) {
Avatar billede muddi Praktikant
11. juli 2002 - 14:40 #23
Hvad er det for en fejl den kommer med?
Avatar billede jacob_m Nybegynder
11. juli 2002 - 14:55 #24
Parse error: parse error in D:\web\greyz.dk_b9e2ck\picture\PHP\add2.php on line 9
Avatar billede muddi Praktikant
11. juli 2002 - 14:59 #25
Vil du ikke lige paste dit script på siden igen? Sådan så jeg kan se hvordan det ser ud lige nu!
Avatar billede jacob_m Nybegynder
11. juli 2002 - 15:01 #26
Selvfølgelig..

<FORM ENCTYPE="multipart/form-data" ACTION="<?=$PHP_SELF; ?>$vareid=<?=$vareid;?>" METHOD="POST">
      <INPUT NAME="userfile" TYPE="file">
      <INPUT TYPE="submit" VALUE="Send Filen">
</FORM>
<?

include("mysql_funktioner.php")

if (isset($userfile)) {
    if (eregi("(\.jpg|\.gif|\.bmp)$", $userfile_name, $endelse)) {
        if (copy($userfile,"$DOCUMENT_ROOT/billeder/".$userfile_name)) {
            print "Originalt filnavn: ".$userfile_name.";
            connect();
            mysql_query("UPDATE picture SET billede = '".$billednavn."' WHERE vare_id = $vareid");
            close();
        }
    } else {
        print "Invalid filetype! Only .JPG, .GIF and .BMP's are allowed!";
    }
}
?>
Avatar billede jacob_m Nybegynder
11. juli 2002 - 15:13 #27
Går du ikke lige på Messenger ?!
Avatar billede jacob_m Nybegynder
12. juli 2002 - 16:55 #28
NU har jeg siddet og rodet lidt rundt. Og jeg er kommet frem til en helt ny fejl, men denne giver mennig. Jeg har splittet scriptet op i to filer.

add2.php som er selve formen.
funktion.php som indeholde al php´en. Det ser såleds ud:

add2.php:

<div align="center">Upload Billede.<br>
</div>
<?php require("funktion.php"); ?>

<FORM ENCTYPE="multipart/form-data" ACTION="<?=$PHP_SELF; ?>$vareid=<?=$vareid;?>" METHOD="POST">
      <INPUT NAME="userfile" TYPE="file">
      <INPUT TYPE="submit" VALUE="Send Filen">
</FORM>

og funktion.php:

<?php
function connect() {
  $server = "*****.******.**";
  $bruger = "********";
  $kodeord = "********";
  $database = "********";

  if (!mysql_connect("$server","$bruger","$kodeord")) {
    udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL.");
  }

  if(!mysql_select_db("$database")) {
    udskriv_fejl("Kunne ikke vælge databasen: $database");
  }
}

function  close() {
  if(!mysql_close()) {
    udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL!");
  }
}

function udskriv_fejl($fejl) {
  echo "<p>$fejl";

  if ($mysql_fejl = mysql_error()) {
    echo "<br>Fejlen er: <em>$mysql_fejl</em>";
  }

  exit;
}
?>

<?php

if (isset($userfile)) {
    if (eregi("(\.jpg|\.gif|\.bmp)$", $userfile_name, $endelse)) {
        if (copy($userfile,"D:/web/greyz.dk_b9e2ck/picture/billeder/".$userfile_name)) {
            print "Originalt filnavn: ".$userfile_name.";
            connect();
            mysql_query("UPDATE picture SET billede = '".$billednavn."' WHERE vare_id = $vareid");
            close();
        }
    } else {
        print "Invalid filetype! Only .JPG, .GIF and .BMP's are allowed!";
    }
}
?>

Nu er det så denne fejl som kommer op:

Parse error: parse error in D:\web\greyz.dk_b9e2ck\picture\PHP\funktion.php on line 41

Og linje 41 er:

mysql_query("UPDATE picture SET billede = '".$billednavn."' WHERE vare_id = $vareid");

Håber der er nogen som kan hjælpe :-)

-Jacob
Avatar billede jacob_m Nybegynder
12. juli 2002 - 17:56 #29
Har fået det til at virke.. Tak for hjælpen med scriptet Muddi
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