Avatar billede kirkeby Nybegynder
09. december 2005 - 11:43 Der er 8 kommentarer og
1 løsning

Hvordan får jeg små preview + flere link i denne upload formular

Når jeg har uploadet et billede får man følgende besked :

Dit billede er blevet oploadet korrekt
billedet fylder :161041Bytes


Dit billede er gemt på denne adresse :
Http://www.url.dk/upload05/southwest.jpg


For at indsætte små billeder på forumet :
Marker teksten tryk : (ctrl) + C  - inde på siden trykker du bare (ctrl)+V og den indsætte koden

http://www.url.dk/upload05/southwest.jpg


Jeg vil meget gerne ha tilføjet flg 2 ting:
* Et lille preview billede i ca 120*40 af det uploadede billede...

* Et link med flg html kode :
hvor billedet bliver vist i 500*375, og linker direkte til det nye billede i fuld størrelse der skal poppe op i nyt vindue... 




php filen ser således ud :

<?php

if ($img1_name != "") {
       
        @copy("$img1" , "upload/$img1_name")
             
                or die("Couldn't Upload Your File.");


} else {

      die("No File Specified");

}

?>

<HTML>

<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
    <META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
    <TITLE>:. Url.dk .: -> Opload et Billede</TITLE>
</HEAD>



<BODY background="" bgcolor="#D4C3A4">
<font color="#000000">
.</font>
<p align="center"><font color="#000000">&nbsp;</font><font color="#000000">.</font><font color="#000000"><br>
<br>
<font size="5" face="Verdana">Dit billede er blevet oploadet korrekt<br>
</font><font face="Verdana" size="3">
billedet fylder :</font><?php echo "$img1_size"; ?><font>Bytes<br>
</font></p>


<p align="center"><font color="#000000"><font face="Verdana" size="3"><b>Dit
billede er gemt på denne adresse :</b><br>
Http://www.url.dk/upload/</font><?php echo "$img1_name"; ?></font></p>


<p align="center"><b><font face="Verdana" size="3"><br>
</font></b><font face="Verdana" size="5">For at indsætte billedet på forumet :<br>
</font><b><font face="Verdana" size="3"><i>Marker teksten tryk : (ctrl) +
C&nbsp;&nbsp;  - inde på siden trykker du bare (ctrl)+V og den indsætte koden</i></font></b><font face="Verdana" size="3"><br>
<br>
http://www.url.dk/upload/</font><?php echo "$img1_name"; ?><font></font></p>


<p align="center">
<font size="5" face="Verdana"><br>
</font></p>


</BODY>

</HTML>


mvh Jesper
Avatar billede ajenbo Nybegynder
09. december 2005 - 16:09 #1
120x40 billedet
Here er koden for 120x40 preview
<img src="img.php?maxx=120&maxy=40&img=<?php echo "$img1_name"; ?>">
og for 500*375 preview
<img src="img.php?maxx=500&maxy=375&img=<?php echo "$img1_name"; ?>">

Så skal du lave en ny fil der heder img.php, here er den kode du skal putte i den.

<?php
header("Content-Type: image/jpg");
$dir = "upload";

    if(!$size = @getimagesize($dir."/".$img))
        die("Fejl i billedet");
       
    if(ereg(".jpg", $navn) || ereg(".jpeg", $navn) ||  ereg(".jpe", $navn)) {
        $source = imagecreatefromjpeg($dir."/".$img);
    }
    elseif (ereg(".gif", $navn)) {
        $source = imagecreatefromgif($dir."/".$img);
    }
    elseif(ereg(".png", $navn)) {
        $source = imagecreatefrompng($dir."/".$img);
    }
    elseif(ereg(".wbm", $navn) || ereg(".wbmp", $navn)) {
        $source = imagecreatefromwbmp($dir."/".$img);
    }
   
$ratio = ($size[0] / $size[1]);
if($ratio > 1) {
    if($size[0] > $maxx) {
        $hight = round(($maxx / $ratio));
        $image = imagecreatetruecolor($maxx,$hight);
        imagecopyresized($image, $source, 0, 0, 0, 0, $maxx, $hight, $size[0], $size[1]);
    } else
        $image = $source;
} else {
    if($size[1] > $maxy) {
        $width = round(($maxy * $ratio));
        $image = imagecreatetruecolor($width,$maxy);
        imagecopyresized($image, $source, 0, 0, 0, 0, $width, $maxy, $size[0], $size[1]);
    } else
        $image = $source;
}

    ob_start(); // start a new output buffer
    imagejpeg( $image, NULL, 30 );
    $img = ob_get_contents();
    ob_end_clean;
    imagedestroy($image);
    imagedestroy($source);
?>
Hvis du ikke er til frids med billed kvaliteten kan du skifte imagecopyresized ud med imagecopyresample og indstille jpg kvaliteten
imagejpeg( $image, NULL, 60 );
(mellem 0 og 100)

For at linke til det fulde billed som popup kan du sætte det here link rundt om billedet.
<a href=upload/<?php echo "$img1_name"; ?> target="_blank"></a>

eller hvis du vil have et rigtig popup hvor du kan bestemme størelsen.

<a href="java script:window.open('upload/<?php echo "$img1_name"; ?>','move','toolbar=0,menubar=0,location=0,scrollbars=0,width=1024,height=768')"></a>
Avatar billede kirkeby Nybegynder
09. december 2005 - 20:46 #2
hejsa !  tak for svaret... 

Jeg har lige et problem..  der kommer bare et rødt kryds i stedet for billedet.. 

den skriver flg billed link :

http://www.mitdomæne.dk/img.php?maxx=120&maxy=40&img=m_simpsonsBackL.jpg

(http://www.mitdomæne.dk/img.php er den korrekte placering af img.php filen)


jeg har rettet $dir = "upload; i img.php filen, til $dir = "upload05; da den uploader billeder til den mappe, det andet må være noget gammelt php :-)


efter jeg har indsat din php fil ser min således ud :

<?php

if ($img1_name != "") {
       
        @copy("$img1" , "upload05/$img1_name")
             
                or die("Couldn't Upload Your File.");


} else {

      die("No File Specified");

}

?>

<HTML>

<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
    <META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
    <TITLE>:. mitdomæne .: -> Opload et Billede</TITLE>
</HEAD>



<BODY background="" bgcolor="#D4C3A4">
<font color="#000000">
.</font>
<p align="center"><font color="#000000">&nbsp;</font><font color="#000000">.</font><font color="#000000"><br>
<br>
<font size="5" face="Verdana">Dit billede er blevet oploadet korrekt<br>
</font><font face="Verdana" size="3">
billedet fylder :</font><?php echo "$img1_size"; ?><font>Bytes<br>
</font></p>

<img src="img.php?maxx=120&maxy=40&img=<?php echo "$img1_name"; ?>">


<p align="center"><font color="#000000"><font face="Verdana" size="3"><b>Dit
billede er gemt på denne adresse :</b><br>
Http://www.mitdomæne.dk/upload05/</font><?php echo "$img1_name"; ?></font></p>


<p align="center"><b><font face="Verdana" size="3"><br>
</font></b><font face="Verdana" size="5">For at indsætte små billeder på forumet :<br>
</font><b><font face="Verdana" size="3"><i>Marker teksten tryk : (ctrl) +
C&nbsp;&nbsp;  - inde på siden trykker du bare (ctrl)+V og den indsætte koden</i></font></b><font face="Verdana" size="3"><br>
<br>
http://www.mitdomæne.dk/upload05/</font><?php echo "$img1_name"; ?><font></font></p>




<p align="center">
<font size="5" face="Verdana"><br>
</font></p>


</BODY>

</HTML>





din php fil (img.php) ligger i samme bibliotek som upload.php..      det er i rod biblioteket, de uploader til mappen mitdomæne.dk/upload05

hvad kan der være i vejen ? :-)      - På forhånd tak for hjælpen
Avatar billede kirkeby Nybegynder
09. december 2005 - 20:49 #3
selve output html ser således ud :


<HTML>

<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
    <META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
    <TITLE>:. mitdomæne.dk .: -> Opload et Billede</TITLE>
</HEAD>



<BODY background="" bgcolor="#D4C3A4">
<font color="#000000">
.</font>
<p align="center"><font color="#000000">&nbsp;</font><font color="#000000">.</font><font color="#000000"><br>
<br>
<font size="5" face="Verdana">Dit billede er blevet oploadet korrekt<br>
</font><font face="Verdana" size="3">
billedet fylder :</font>38630<font>Bytes<br>
</font></p>

<img src="img.php?maxx=120&maxy=40&img=simpsons.gif">


<p align="center"><font color="#000000"><font face="Verdana" size="3"><b>Dit
billede er gemt på denne adresse :</b><br>
Http://www.mitdomæne.dk/upload05/</font>simpsons.gif</font></p>


<p align="center"><b><font face="Verdana" size="3"><br>
</font></b><font face="Verdana" size="5">For at indsætte små billeder på forumet :<br>
</font><b><font face="Verdana" size="3"><i>Marker teksten tryk : (ctrl) +
C&nbsp;&nbsp;  - inde på siden trykker du bare (ctrl)+V og den indsætte koden</i></font></b><font face="Verdana" size="3"><br>
<br>
http://www.mitdomæne.dk/upload05/</font>simpsons.gif<font></font></p>




<p align="center">
<font size="5" face="Verdana"><br>
</font></p>


</BODY>

</HTML>





ved den godt at det er upload biblioteket den skal hente fra her ? :
<img src="img.php?maxx=120&maxy=40&img=simpsons.gif">
Avatar billede ajenbo Nybegynder
10. december 2005 - 00:29 #4
...du skal ikke have </font> i dit link
så ænder
Http://www.mitdomæne.dk/upload05/</font><?php echo "$img1_name"; ?></font></p>
til
Http://www.mitdomæne.dk/upload05/<?php echo "$img1_name"; ?></p>

og
http://www.mitdomæne.dk/upload05/</font>simpsons.gif<font></font></p>
til
http://www.mitdomæne.dk/upload05/simpsons.gif</p>

når jeg prøver at åbne http://www.mitdomæne.dk/img.php får jeg bare 404 (filen mangler).

Ja det er det rigtige sted du har lagt filen.

du skrev $dir = "upload05;
husk at slutte quats så
$dir = "upload05";

$dir er den sti der er fra filen til billederne.
Så hvis du lægger den i samme mappe som billederne skal dir bare være tom.

Jeg kan ikke hjælpe dig med hvad der går galt med min img.php fil hvis ikke jeg kan se den...
Avatar billede kirkeby Nybegynder
10. december 2005 - 18:47 #5
Avatar billede kirkeby Nybegynder
10. december 2005 - 18:49 #6
img var $dir = "upload05";


skrev forkert herinde :-)

De 2 andre linjer har jeg nu ændret :-)
Avatar billede ajenbo Nybegynder
10. december 2005 - 23:23 #7
Hmm den kan ikke finde dit billed, undre mig lidt, men nu har jeg skrevet koden lidt om, så nu giver du bare den fulde sti til $img, har også gjort det lidt lætter at ændre kvaliteten.

link
<img src="img.php?maxx=120&maxy=40&img=http://www.kjukken.dk/upload05/<?php echo $img1_name; ?>">

ny img.php kode
<?php
header("Content-Type: image/jpeg");

//billed kvalitet (high, low)
$scaletype = "low";

if($quality > 100 || $quality < 0) {
//Jpg kvalitet
    $quality = 30;
}

if(!$size = @getimagesize($img))
    die("getimagesize");
   
if(ereg(".jpg", $img) || ereg(".jpeg", $img) ||  ereg(".jpe", $img)) {
    $source = imagecreatefromjpeg($img);
} elseif (ereg(".gif", $img)) {
    $source = imagecreatefromgif($img);
} elseif(ereg(".png", $img)) {
    $source = imagecreatefrompng($img);
} elseif(ereg(".wbm", $img) || ereg(".wbmp", $img)) {
    $source = imagecreatefromwbmp($img);
} else
    die("Kunde ikke åbne billedet");

if($maxx > 1 || $maxy > 1) {
    $ratio = ($size[0] / $size[1]);
    if($maxx/$size[0] < $maxy/$size[1]) {
        $width = $maxx;
        if($size[0] != $maxx) {
            $hight = round(($maxx / $ratio));
            $image = imagecreatetruecolor($maxx,$hight);
            if($scaletype == "high")
                imagecopyresampled($image, $source, 0, 0, 0, 0, $maxx, $hight, $size[0], $size[1]);
            else
                imagecopyresized($image, $source, 0, 0, 0, 0, $maxx, $hight, $size[0], $size[1]);
        } else
            $image = $source;
    } else {
        $hight = $maxy;
        if($size[1] != $maxy) {
            $width = round(($maxy * $ratio));
            $image = imagecreatetruecolor($width,$maxy);
            if($scaletype == "high")
                imagecopyresampled($image, $source, 0, 0, 0, 0, $width, $maxy, $size[0], $size[1]);
            else
                imagecopyresized($image, $source, 0, 0, 0, 0, $width, $maxy, $size[0], $size[1]);
        } else
            $image = $source;
    }

} else
    $image = $source;

ob_start(); // start a new output buffer
imagejpeg( $image, NULL, $quality );
$img = ob_get_contents();
ob_end_clean;
imagedestroy($image);
imagedestroy($source);
?>
Avatar billede kirkeby Nybegynder
11. december 2005 - 11:38 #8
nu virker det :-) 

Supert !!

Laver du lige et svar ? :-)
Avatar billede ajenbo Nybegynder
11. december 2005 - 14:41 #9
Cool nok :)
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