Avatar billede dinno Nybegynder
19. september 2008 - 09:22 Der er 15 kommentarer og
1 løsning

upload billeder direkte til databasen

hej er der en som kan give et råd til phpkoden til min billeduploader... som det er nu sendes billednavnet til databasen og selve billedet ned i en mappe men det gør det temmeligt besværligt når brugeren sletter sit oplæg, for så skal jeg selv ned i image mappen for at slette det pågældende billed..

eller evnt hvor jeg kan hente en mere avanceret billed uploader
mvh dinno
Avatar billede w13 Novice
19. september 2008 - 09:31 #1
Der er rigtig mange fordele ved at have billedet i en mappe i stedet for i en database. Det fylder også meget i databasen og sløver den derved, når du skal hente andet fra den.

Og du kan jo bare slette billedet med unlink( $billedsti );

:)
Avatar billede Slettet bruger
19. september 2008 - 09:49 #2
Ja unlink() viker jo perfekt og er ikke så besværtligt at synes jeg.
Har aldrig rodet med billeder i en database, men ved det som w13 siger det sløver!
Avatar billede w13 Novice
27. september 2008 - 13:19 #3
Kommet videre?
Avatar billede dinno Nybegynder
27. september 2008 - 13:43 #4
nej ikke endnu men er startet forfra med det jeg ville gerne have det sådan at uploadet af billedet skaete i samme proces som når opslaget bliver sat ind og er gået lidt i stå smil
Avatar billede dinno Nybegynder
27. september 2008 - 15:23 #5
kan man integrer en billeduploader i en anden formular
Avatar billede w13 Novice
27. september 2008 - 16:04 #6
Det forstår jeg ikke lige. Integrere en billedupload i en anden formular??
Avatar billede dinno Nybegynder
27. september 2008 - 18:10 #7
jo sådan som det er kan mine brugerer indsætte et opslag til et arrangement og skal have mulighed for at sætte et logo eller et billed til opslaget. Lidt i stil med andre steder hvor man som bruger kan indsætte en profil med tilhørende billed
Avatar billede olebole Juniormester
27. september 2008 - 18:15 #8
<ole>

Har du nogensinde arbejdet med PHP/MySQL og formularer? Ellers er det nok en meget god idé at sætte sig ind i de allemest grundlæggende ting, først  =)

/mvh
</bole>
Avatar billede w13 Novice
27. september 2008 - 18:17 #9
Ja, det kan du sagtens. =)
Avatar billede dinno Nybegynder
27. september 2008 - 18:19 #10
okay det behøver nu heller ikke være i den samme proces det sker, lige nu er jeg ved at prøve med at brugeren først henter sit billed/logo og derefter indsætter sit opslag og i opslags processen så kan vælge sit billed lige nu prøver jeg at gøre så brugerens username følger med fra billede uploaderen således at ved opslags indsættelsen fanges billedet via MM_Username min billed oploader ser sådan her ud

<?php
if (isset($_FILES['filnavn'])) {print "Fil der er blevet overført:{$_FILES['filnavn']['name']}<p>\n";
   
   
$query = "INSERT INTO billeder SET billednavn='".$_FILES['filnavn']['name']."'";
$query_rsMedlemmer = "INSERT INTO billeder SET username='".$_SESSION['username']['id']."'";
    $Result1 = mysql_query($query, $cms) or die(mysql_error());
}

{
$tempfile = $_FILES['filnavn']['tmp_name'];
$destination = "billederopslag/{$_FILES['filnavn']['name']}";
copy($tempfile, $destination);
}
?>
  <form method="POST" enctype="multipart/form-data" name="form1" id="form1">
    <table width="100%" border="0" cellspacing="0" cellpadding="2">
      <tr>
        <td width="10%">&nbsp;</td>
        <td width="90%"><label></label></td>
      </tr>
      <tr>
        <td colspan="2"><p align="left">
          Fil der skal overføres:
          <input type="file" name="filnavn" id="filnavn" />
          <label></label>
        </p></td>
      </tr>
      <tr>
        <td colspan="2"><input type="submit" name="button" id="button" value="Overfør" /></td>
      </tr>
    </table>
    <p>
    <label></label>
    <span class="style9">
    <label></label>
    </span>
    <input name="username" type="hidden" id="username" value="<?php echo $row_rsmedlem['username']; ?>" />
    </p>
  <label></label>
  <p>
    <label></label>
  </p>
    </form>
</body>
</html>
<?php

Den sætter stadig kun filnavnet ind i databasen og undlader at ta usernamet med fra hidden.. jeg ved godt jeg er en knold til der her smil
Avatar billede dinno Nybegynder
27. september 2008 - 18:24 #11
at indsætte en brugbar formular er ikke problemet har ingen problemer med at indsætte data til databasen og hente dem igen, men der da lidt forskel på en almindelig formular og en filuploader for mig ihvertefald smil
Avatar billede dinno Nybegynder
28. september 2008 - 19:43 #12
har rodet lidt med det. suk suk. Den sender godt nok billedenavnet og de øvrige informationer i den samme tabel i databasen men men ligger billedet i en anden række for sig selv
Avatar billede w13 Novice
28. september 2008 - 19:53 #13
Det er fordi du indsætter 2 gange her:

$query = "INSERT INTO billeder SET billednavn='".$_FILES['filnavn']['name']."'";
$query_rsMedlemmer = "INSERT INTO billeder SET username='".$_SESSION['username']['id']."'";

Ret til:

$query = "INSERT INTO billeder SET billednavn='".$_FILES['filnavn']['name']."', username='".$_SESSION['username']['id']."'";
Avatar billede w13 Novice
28. september 2008 - 19:54 #14
Derudover er der nok ikke behov for at lægge det i databasen. Hvis du f.eks. bare sørger for at uploade billedet, så det hedder brugerens brugernavn, dvs. f.eks. w13.jpg, så kan du jo finde frem til det sådan og så slipper du for at lægge det i din database.

Det vil dog være endnu bedre, hvis det bare hedder brugerens id, så du slipper for problemer med evt. mellemrum og specialtegn.
Avatar billede dinno Nybegynder
28. september 2008 - 21:41 #15
må jeg sende selve formularen som brugeren udfylder og hvor jeg gerne ville have en billed uploader integreret?
Avatar billede dinno Nybegynder
12. november 2008 - 22:57 #16
lukker
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
Kurser inden for grundlæggende programmering

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



IT-JOB

Udviklings- og Forenklingsstyrelsen

Udvikler til procesapplikationer

Cognizant Technology Solutions Denmark ApS

Senior Delivery Manager

Kalundborg Kommune

Data Scientist / udvikler