Avatar billede eskdecay Nybegynder
14. maj 2008 - 00:43 Der er 8 kommentarer

Lave et thumbnailnår man uploader det med php og gdlib...hvordan

jeg har et blog script skrevet i php, og jeg vil gerne have at, når jeg skriver en nyhed og tilføjer et billede, skal scriptet selv lave et thumbnail, med en maxbredde på 270 px...højden skal den selv kunne regne ud, for det skal bevare aspekt-ratio'en

Hvis nogen har lyst til at hjælpe mig skal i bare sige til hvad i har brug for...så kan skrive skrive scipts'ne
Avatar billede jakobdo Ekspert
14. maj 2008 - 08:07 #1
Har du kigget på min resize "artikel" ?
Avatar billede jakobdo Ekspert
14. maj 2008 - 08:08 #2
Avatar billede eskdecay Nybegynder
14. maj 2008 - 12:00 #3
jeg har dene kode:


****************kode***************


<?php
include_once('inc.limited_access.php');

include('header.php');
?>

<h1>Skriv indlæg</h1>

<form action="form.handle.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="referer" value="post_news">

<div class="frmobj">Overskrift</div> <input type="text" name="title" style="width: 260px"><br>
<input type="hidden" name="author" value="Sara">
<div class="frmobj">Billede

</div> <input type="file" name="image" style="width: 260px"><br>
<div class="frmobj">Andet billede</div> <input type="text" name="standard" style="width: 260px"><br>
<div class="frmtext"><a href="files.list.php" target="_blank">Se uploadede filer</a></div><br>
<div class="frmobj">Blog indlæg</div> <textarea name="text" rows="10" cols="0" style="width: 260px"></textarea><br><br>

<center><input type="submit" value="Send"></center>
</form>

<div class="hr"></div>
<a href="administration.php">Admin</a> | <a href="index.php?f=loggedout">Log ud</a>

<?
include('bottom.php');
?>

******************/kode*****************

ville du have dit resize-script ind under  form.handle.php  ???
Avatar billede jakobdo Ekspert
14. maj 2008 - 12:02 #4
Ja, resize skal indbygges i koden: form.handle.php
Avatar billede eskdecay Nybegynder
14. maj 2008 - 12:52 #5
hmm...

vil skyde på at det er liiige omkring her:

if ($_POST['referer'] == 'post_news') {
    if ($_FILES['image']['name'] != '') {
        $image = time().substr($_FILES['image']['name'],strrpos($_FILES['image']['name'],'.'));
        move_uploaded_file($_FILES['image']['tmp_name'], '../files/'.$image);
    } elseif ($_POST['standard'] != '') {
        $image = $_POST['standard'];
    } else {
        $image = '';
    }
    mysql_query("INSERT INTO yuumeinews VALUES ('','".$_POST['title']."','".$_POST['author']."',now(),'".$_POST['synopsis']."','".$_POST['text']."','".$image."')") or die(mysql_error());
    header("Location: news.list.php");
}


et dit resize skal ind, men kan ikke rigtig regne ud hvordan jeg gør det... måske det ville være godt at include dit script et sted i mit, bare for at bevare overblikket...
Avatar billede jakobdo Ekspert
14. maj 2008 - 13:08 #6
Hvis billeder kun skal resizes, kan du erstatte linjen:
move_uploaded_file($_FILES['image']['tmp_name'], '../files/'.$image);

Hvis original skal beholdes og der skal oprettes et thumb, kan du lige efter:
move_uploaded_file($_FILES['image']['tmp_name'], '../files/'.$image);
lave:

move_uploaded_file($_FILES['image']['tmp_name'], '../files/'.$image);
resize('../files/'.$image, 'NYT_NAVN....', 270, 270);
Avatar billede eskdecay Nybegynder
14. maj 2008 - 13:12 #7
kun den ene linie??

det lyder næsten for nemt
Avatar billede jakobdo Ekspert
14. maj 2008 - 13:48 #8
Ja, og så skal der rettes lidt til, for at holde ratio og bredden på 270 eller hvad det nu var du skrev! :o)
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