Avatar billede jens12 Nybegynder
03. april 2006 - 15:46 Der er 2 kommentarer og
1 løsning

Udvielse af opload script..Hjælp

Hej :D
Jeg har et community og
Jeg har engang fået hjælp til et profilbillede system engang..
og nu vil jeg gerne havde hjælp til at udvikle dette script til et galleri system..
Billedet skal stadig kunne resizet og man skal kunne vælge en plads hvor billedet skal være..
Jeg har fået lavet sån at man max kan oploade 15 billeder... Og den reasizer fint og ligger fint data ind i db.
Problemmet er at hvis nu en bruger har oploadet et billede på plads 1 og gerne vil oploade et nyt oven i plads 1..
Så kan jeg ikke få den til at opdatere billedet...:S og den nye kommentar og titel..
Mvh:
Jens,håber i kan hjælpe

Kode af default.php:
<-----start-------->

<? session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Galleri</title>
<link rel="stylesheet" href="../../style/style.css" type="text/css">
<style type="text/css">
<!--
body {
    background-color: #FFFFFF;
}
.style1 {
    color: red;
    font-weight: bold;
}
-->
</style></head>

<body>
<strong><span class="style1"><a href="regler.php"><img src="information.gif" width="16" height="16" border="0" /></a></span><a href="regler.php"><strong>OBS: </strong>L&aelig;s reglerne f&oslash;r du overf&oslash;rer et galleri billede til siden! </a><br />
      <br />
      Opload et galleri billede :</strong><br />
      <br />
    <form action="galleri_opload_done.php" method="post" enctype="multipart/form-data" name="form1" id="form1" >
    <br />
    <table width="100%" border="0">
        <tr>
          <td>Hvilken plads skal billede v&aelig;re p&aring; ?</td>
          <td><select name="picplads" id="picplads">
            <option value="1" selected="selected">Billede 1</option>
            <option value="2">Billede 2</option>
            <option value="3">Billede 3</option>
            <option value="4">Billede 4</option>
            <option value="5">Billede 5</option>
            <option value="6">Billede 6</option>
            <option value="7">Billede 7</option>
            <option value="8">Billede 8</option>
            <option value="9">Billede 9</option>
            <option value="10">Billede 10</option>
          </select></td>
        </tr>
        <tr>
          <td>Billedet: </td>
          <td><input name="upfil" type="file" class="file" id="upfil" style="width:80%" /></td>
        </tr>
        <tr>
          <td>Titel:</td>
          <td><input name="titel" type="text" id="titel" maxlength="100" /></td>
        </tr>
        <tr>
          <td>Beskrivelse/Kommentar:</td>
          <td><input name="kommentar" type="text" id="kommentar" maxlength="100" /></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input name="submit" type="submit" class="knap"  value="Overf&oslash;r" />
            <a href="../profile.php"> Tilbage til din profil </a></td>
        </tr>
      </table>
      <br /></form>  </tr>
</table>
</body>
</html>

<----SLUT------>

kode af : galleri_opload_done.php

<?php
session_start();
include("connect.php");

$tjek= mysql_query("SELECT * FROM galleri WHERE user = '$user'") or die(mysql_error());
$antal = mysql_num_rows($tjek);
if($antal == "15") {    //max antal billeder en bruger må have
echo"<b><font=\"red\">Du kan ikke overføre flere billeder!<br> Du kan højst overføre 15 billeder!</font></b>";
} else {

function resize( $filename, $newfilename, $maxw, $maxh )
{
    list($width, $height, $filetype, $attr) = getimagesize($filename);
    $srcim = imagecreatefromjpeg( $filename );
    $ow = imagesx( $srcim );
    $oh = imagesy( $srcim );
    $wscale = $maxw / $ow;
    $hscale = $maxh / $oh;
    $scale = ( $hscale < $wscale ? $hscale : $wscale );
    $nw = round( $ow * $scale, 0 );
    $nh = round( $oh * $scale, 0 );
    $dstim = imagecreatetruecolor( $nw, $nh );
    imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
    imagejpeg( $dstim, $newfilename, 85 );
    imagedestroy( $dstim );
    imagedestroy( $srcim );
   
    return file_exists($newfilename);
}

// TIL DEBUG
/*
echo "DEBUG - FILES";
echo "<pre>";
print_r($_FILES);
echo "</pre>";

echo "DEBUG - POST";
echo "<pre>";
print_r($_POST);
echo "</pre>";

echo "DEBUG - SESSION";
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
*/

$konfiguration['upload_large']        = "/web/www/frac/users/mailwithfriends/community/galleri/large/";
$konfiguration['upload_small']        = "/web/www/frac/users/mailwithfriends/community/galleri/small/";
$konfiguration['max_stoerrelse']    = 100*1024; //100KB
$konfiguration['max_width']            = 650; //Ja, tilladte max. højde ved large
$konfiguration['max_height']            = 650; //Tilladte max. bredde ved large
$konfiguration['small_width']        = 165; //Ja, tilladte max. højde ved small
$konfiguration['small_height']        = 130; //Tilladte max. bredde ved small

$tilladte_filtyper = array("jpeg", "jpg", "jpe");//tilladte filtyper. Tilføj fx. "image/gif"

$fra = $_FILES['upfil']['tmp_name'];
$extension = strtolower(end(explode('.',$_FILES['upfil']['name'])));
$uniqueFile = $_SESSION['id'] . "_" . md5(uniqid(rand(), true));

$til_large = $konfiguration['upload_large']  . $uniqueFile . "." . $extension;
$til_small = $konfiguration['upload_small']  . $uniqueFile . "." . $extension;

//$til_large = $konfiguration['upload_large'] . $_FILES['upfil']['name'];
//$til_small = $konfiguration['upload_small'] . $_FILES['upfil']['name'];

$fil_stoerrelse = filesize($fra)/1024;//Omregner til KB
if($fil_stoerrelse > $konfiguration['max_stoerrelse'])
{
    die("Desværre - filen er for stor. Ejerne accepterer kun " .
    $konfiguration['max_stoerrelse'] . "kb, og dit billede fylder " .
    ceil($fil_stoerrelse, 1) . " kb");
}
   
//Er fil-typen blandt tilladte?
if (in_array($extension,$tilladte_filtyper))
{
    //Lav det store billede...
    resize($fra,$til_large,$konfiguration['max_width'],$konfiguration['max_height']) or die("Desværre det store billede ikke generet!");

            //Lav det lille billede...
    resize($fra,$til_small,$konfiguration['small_width'],$konfiguration['small_height']) or die("Desværre det lille billede ikke generet!");

    $picplads = mysql_real_escape_string(strip_tags($_POST['picplads']));       
    $titel = mysql_real_escape_string(strip_tags($_POST['titel']));   
    $kommentar = mysql_real_escape_string(strip_tags($_POST['kommentar']));
    $sql = mysql_query("INSERT INTO galleri(user,pic,pic_small,picplads,titel,kommentar,dato,godkendt)"."VALUES('".$_SESSION['user']."','".basename($til_large)."','".basename($til_small)."','$picplads','$titel','$kommentar',NOW(),'nej')");
  echo"<b>Dit galleri billede er nu overført!</b><br>";
echo"<H3><font color=\"red\"><b>OBS:Du skal nu vente til at en supporter/admin godkender dit galleri-billede!</b></font></H3><br><br>";
echo"<a href=\"/community/profile.php\">Klik her for at gå til din profil</a>";
}
else
{
    echo "Ikke et godkendt billede format: (jpeg, jpg, jpe)";
}
}
?>
<?
mysql_close();
?>
<link rel="stylesheet" href="/style/style.css" type="text/css">
Avatar billede jens12 Nybegynder
03. april 2006 - 15:57 #1
Glemte lige tabelen:
CREATE TABLE `galleri` (
  `id` int(11) NOT NULL auto_increment,
  `user` varchar(25) NOT NULL default '',
  `pic` varchar(50) NOT NULL default '',
  `pic_small` varchar(50) NOT NULL default '',
  `picplads` char(2) NOT NULL default '',
  `titel` varchar(25) NOT NULL default '',
  `kommentar` varchar(100) NOT NULL default '',
  `dato` datetime NOT NULL default '0000-00-00 00:00:00',
  `godkendt` char(3) NOT NULL default 'nej',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
Avatar billede jens12 Nybegynder
03. april 2006 - 16:42 #2
Et ekstra spørgsmål :
Hvordan får jeg den til at udskrive for eksempel 5 billeder i en række og så 5 i den næste række ?
Avatar billede jens12 Nybegynder
06. april 2006 - 18:03 #3
LUKKET...Fandt ud af det selv:)
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