/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn 

Kodeord  


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
gem billede + text i mysql
Fra : petermadsen81
Vist : 390 gange
200 point
Dato : 07-02-04 22:04

Hejsa

Jeg vil gerne gemme et billede og noget tekst i mysql

Først og fremmest vil jeg bare gerne kunne uploade og så vise filen. Så kan jeg kæmpe med at gemme den i mysql bagefter...

min upload form ser sådan her ud..

<HTML>
<head>
<title>fil og tekstupload</title>
<meta name="Generator" content="Stone's WebWriter 4">
<basefont color="#00000" face="Verdana" size="+2" />
</head>
<body bgcolor="#C0C0C0" leftmargin="8" bgcolor="#FFFFFF" text="#000000" link="#00000" vlink="#000000" alink="#000000">
<form action="filupload.php"
         enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="409600">
File to Upload: <input type="file" name="billede"><br>
Overskrift: <input type="text" name="overskrift"><br>
Tekst:<br>
<textarea name="tekst" cols="30" rows="5"></textarea>
<br><br>
<input type="submit" value="upload!">
</form>
</body>
</html>

Nu vil jeg jo så bare gerne have det vist på den POSTEDE side

Den ser forløbig sådan ud

<html>
<head>
<title>Filupload</title>
<meta name="Generator" content="Stone's WebWriter 4">
<basefont color="#00000" face="Verdana" size="+2" />
</head>
<body bgcolor="#C0C0C0" leftmargin="8" bgcolor="#FFFFFF" text="#000000" link="#00000" vlink="#000000" alink="#000000">
<h1>File Upload Results</h1><br>
<?php
print "<img src=\"$_FILES[billede]\"><br>"; // Hvordan faen får jeg den til at vise det fuxxxxx billede!!!!!
print "<h1>$_POST[overskrift]</h1><br>";
print "$_POST[tekst]";
?>
</body>

Hvordan faen får jeg den til at vise det fuxxxxx billede!!!!!
Jeg går udfra når jeg først får den gemt i en variabel er det nemt at smide den i en longblob i mysql!!!!

Please help!!!

Og nå ja er der noget negativt ved at smide det ind i mysql? Burde jeg istedet bare gemme stinavnet i mysql og så hente det frem på den måde? Grunden til jeg gerne vil have det hele i mysql er at det så er nemmere at slette og der kan gemmes filer med samme navn... og nemmere at holde styr på... tror jeg... men ved det jo ikke helt...

</html>

 
 
Kommentar
Fra : Jin2k


Dato : 11-02-04 01:45

Hey. Jeg mener ikke det er muligt at hente billedet direkte fra $_FILES arrayet. Du bli'r sq nok nød til at smide det ind i databasen først og så trække det ud igen...
$_FILES indeholder org. filnavn, filtype (mime-typen), størrelse i byte, midl. navn og evt. fejl. Selve data-delen er ikke til at hive ud derfra...

/Jin2k

Kommentar
Fra : Interkriller


Dato : 20-02-04 16:56

Jeg har et forum, hvor du kan uploade dit profilbillede og ændre det. Men desværre kan man på nuværende tidspunkt ikke slette billedet, men det kommer nok

Her er min kode, hvis du kan bruge det til noget:

<p><br>
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<div class="stxt">
Forum: Her har du mulighed for, at uploade dine egne billeder eller billeder du finder andre steder på nettet, du kan skrive lidt tekst og anmelde et link hvis du vil.
<br>Dette kræver dog at du er oprettet som bruger, det kan du blive under "Login"<p>
<?
if ($_SESSION[brugernavn])
{
?>
<a href="#form">Opret nyt indlæg</a>
<p><br>
<?
}
?>
</div>
<?
if ($nr)
{
if ($form=="")
{
$query = "SELECT * FROM jforum WHERE jforumID = '$nr'";
$result = mysql_query($query);
$row = mysql_fetch_object($result);
if ($row->billede == "")
{
}
else
{
?>
<img src="../image/jforum/<? echo $row->billede; ?>" height="200">
<?
}
?>
<form name="form1" method="post" action="<? $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<div class="stxt" align="left">Overskrift<br>
<input type="text" name="overskrift" value="<? echo $row->overskrift; ?>">
</div>
<div class="stxt" align="left">Link<br>
<input type="text" name="linket" value="<? echo $row->linket; ?>">
</div>
<p class="stxt" align="left">Tekst<br>
<textarea name="tekst" cols="60" rows="5"><? echo $row->tekst; ?></textarea>
<br>
<div class="stxt" align="left">Profilbillede<br>
<input type="file" name="upfil" value="<? echo $row->billede; ?>">
</div>
<br>
<input type="submit" class="knapper" name="Submit" value="Opdater Indlæg" size="5">
<input type="hidden" name="form" value="udfyldt">
</form>
<br>
<br>
<?
                  
                }
                else if ($form=="udfyldt")
                {
               
                // bruger info opdateres i databasen

$query = "SELECT * FROM jforum WHERE jforumID = '$nr'";
$result = mysql_query($query);
$row = mysql_fetch_object($result);               

$file = $_FILES['upfil']['tmp_name'];
$sti = "/image/jforum/";
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
$billedewh = @GetImageSize($file);

$files = $row->billede;

move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);


                $query = "UPDATE jforum SET billede = '$files', overskrift = '$overskrift', tekst = '$tekst', linket = '$linket' WHERE jforumID = '$nr'";
                 $result = mysql_query($query);
            }
}
      $query = "SELECT bruger.brugernavn, jforum.overskrift, jforum.jforumID, jforum.billede, jforum.tekst, jforum.linket, date_format(jforum.fdato, '%e/%m %Y - %H:%i') AS fdate FROM jforum, bruger WHERE bruger.brugerID = jforum.brugerID ORDER BY fdato DESC";
      $result = mysql_query($query);
      while ($row = mysql_fetch_object($result))
      {
      ?>
      <tr>
<td bgcolor="#000000" width="*">
<div class="txt">
    <a name="l<? echo $row->jforumID; ?>"><? echo $row->overskrift; ?></a>
</div>
</td>
<td bgcolor="#000000" width="150">
<div class="txt">
<?
       echo $row->fdate;
       ?>
</div>
</td>
</tr>
      <tr bgcolor="#000000">
      <td>
      <p class="txt">
      Oprettet af <? echo $row->brugernavn;?>
      </p>
      </td>
      <td>
      <?
      if ($row->brugernavn == $_SESSION[brugernavn])
      {
      ?>
      <a href="<? $_SERVER['PHP_SELF'] ?>?navi=billeder&nr=<? echo $row->jforumID; ?>" class="txt">Rediger indlæg</a>
      <?
      }
      ?>
      </td>
      </tr>
<tr bgcolor="#FFFFFF" >
<td colspan="2"> <br>
      <?
      if ($row->billede=="")
      {
      }
      else
      {
      ?>
      <div align="center">
      <a href="/image/jforum/<? echo $row->billede; ?>"; target="_blank"><img src="/image/jforum/<? echo $row->billede; ?>" height="150"></a>
      </div>
      <?
      }
      ?> <div class="stxt"> <?
      echo replace_smileys(email2link(url2link(nl2br($row->tekst))));
      ?>
      <p>
      <?
      echo replace_smileys(email2link(url2link(nl2br($row->linket))));
      ?><p><?
      }
      ?>
      </div>
      </td>
      <tr>
      <td bgcolor="#000000" height="10" colspan="2"></td>
      </tr>
   </tr>
<tr>
<td colspan="2">
<p>
<p>
<p>

<?
if ($_SESSION[brugernavn])
{
$form = $_POST['form'];
if (($form=="udfyldt") && (!$nr))
{
if (!$upfil)
{
$files = "";
}
else
{
   $file = $_FILES['upfil']['tmp_name'];
   $sti = "/image/jforum/";
   $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
   $billedewh = @GetImageSize($file);

   $files = $_FILES['upfil']['name'];
   $temparr = explode(".", $files);
   $temparr[count($temparr)-2] = time();
   $files = implode(".", $temparr);

   move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
}

$query = "SELECT * FROM bruger WHERE brugernavn = '$_SESSION[brugernavn]'";
$result = mysql_query($query);
$row = mysql_fetch_object($result);
$brugerID = $row->brugerID;
$query = "INSERT INTO jforum (brugerID, overskrift, fdato, linket, tekst, billede) VALUES ('$brugerID', '$overskrift', now(), '$linket', '$tekst', '$files')";
$result = mysql_query($query);
?>
<p>
<div class="stxt">
<?
echo "Du har tilføjet et indlæg i Forum!";
?>
<br>
</div>
<?
}
else if ($form=="")
{
?>
<a name="form"></a>
<br><br>
<form name="form1" method="post" action="<? $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<div align="left" class="stxt">
<p>OPRET NYT INDL&AElig;G</p>
<p>&nbsp;</p>
<p>Overskrift<br>
<input name="overskrift" type="text" maxlength="25">
</p>
</div>
<p>
<div align="left" class="stxt">Link<br>
<input type="text" name="linket">
</div>
<p>
<div align="left" class="stxt">Tekst<br></div>
<textarea name="tekst" cols="60" rows="5"></textarea>
<p>
<input name="upfil" type="file" class="knapper" size="20">
<p>
<input type="submit" class="knapper" name="Submit" value="Send" size="5">
<input type="hidden" name="form" value="udfyldt">
</form>
<?
}
}
?>
</td>
</tr>
</table>

Kommentar
Fra : petermadsen81


Dato : 20-02-04 21:15

Hej Interkriller...

Så vidt jeg kan se har du kun gemt selve billedestien i mysql og ikke selve billedet i mysql...
Du har hjulpet mig før så nu kan jeg hælpe dig lidt...

Når du opretter filen skal du - når den er kopieret over - i samme script chmod ("filsti", 0777);
Og du kan så efterfølgende slette den via
unlink("filsti");

Skriv evt. til mig på peter@3103.dk

Mvh Peter

Kommentar
Fra : Interkriller


Dato : 20-02-04 21:55

Ok, lyder jo ganske simpelt, mange tak. Men er det så ikke også løsningen på dit problem; altså gem stien i mysql og slet vha unlink?

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 173630
Tips : 31662
Nyheder : 719565
Indlæg : 6383580
Brugere : 218258

Månedens bedste
Årets bedste
Sidste års bedste