Avatar billede dj-hupi Nybegynder
22. november 2005 - 21:46 Der er 14 kommentarer og
1 løsning

Upload af billede og thumbnail i samme række (2 uploads)

Ja emnet forklare det jo nærmest selv.
Jeg skal uploade 1 billede og 1 thumbnail hvor stien til billederne ryger i hver deres kolonne og i samme række samtidet..
Hvordan gør jeg det bedst ?
Avatar billede jakobdo Ekspert
22. november 2005 - 21:51 #1
Kan du finde ud af at uploade og resize billedet?
Skal info om filerne gemmes i en tabel?
Avatar billede dj-hupi Nybegynder
22. november 2005 - 21:56 #2
Nej, kan jeg nok ikke :/

Idéen med det er at jeg har en thumbnail af alle mine billeder
Og jeg vil gerne have uploadet mine fuld str billeder og thumbnailsene op i en MySQL
Avatar billede jakobdo Ekspert
22. november 2005 - 21:59 #3
Du har en masse thumbs?
Men du har ikke fullsize pics uploadet?
Nu blev jeg en smule forvirret?
Avatar billede dj-hupi Nybegynder
22. november 2005 - 22:02 #4
Nej jeg har 1 thumbnail til hvert 1 stort billede jeg har.

Jeg skal faktisk kunne uploade 2 billeder og sætte data'erne ind i databasen på engang unden at skulle hen og update den for at få Thumbnail stien ind? Med nu? :)
Avatar billede jakobdo Ekspert
22. november 2005 - 22:08 #5
Ja, jeg er helt med! :o)

Noget i denne stil:

<?php
//http://exp.dk/spm/666612
require_once("./../connect.php");

function resize( $filename, $newfilename, $maxw, $maxh )
{
    $result = false;
    $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 );
    $result = imagejpeg( $dstim, $newfilename, 85 );
    imagedestroy( $dstim );
    imagedestroy( $srcim );
    return $result;
}

$maxSize = 1024000; //1 mb
$allowPics = array(
    2 => "JPG");

$uploadDir = "/pictures/";
$better_token = md5(uniqid(rand(), true));

if($_FILES["userFile"]["size"] > 0)
{
    $uploadfile = getcwd() . $uploadDir . $better_token;
   
    if($_FILES["userFile"]["size"] > $maxSize)
    {
        echo "Only pics below 1MB";
        exit();
    }
   
    $ext = strtoupper(end(explode(".",$_FILES["userFile"]["name"])));
   
    if(!in_array($ext,$allowPics))
    {
        echo "Only pictures...";
        exit();
    }

    $thumbfile  = $uploadfile . "_thumb." . strtolower($ext);
    $uploadfile = $uploadfile . "." . strtolower($ext);

    move_uploaded_file($_FILES["userFile"]["tmp_name"],$uploadfile);
    resize($uploadfile, $thumbfile,300,300);
   
    $query = mysql_query("INSERT INTO pictures(id,big,small) VALUES('',".basename($uploadfile).",'".basename($thumbfile)."')");
}

?>
    <!-- The data encoding type, enctype, MUST be specified as below -->
    <form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    <table>
        <!-- MAX_FILE_SIZE must precede the file input field -->
        <tr><td>Send this file:</td><td><input name="userFile" type="file" /></td></tr>
        <tr><td colspan="2"><input type="submit" value="Send File" /></td></tr>
    </table>
    </form>
Avatar billede dj-hupi Nybegynder
22. november 2005 - 22:14 #6
Prøver lige ;)
Avatar billede dj-hupi Nybegynder
22. november 2005 - 22:18 #7
Nej det er ikke helt sådan :/
Jeg har jo thumbnail filerne liggende. Jeg skal uploade 2 filer af gangen
Avatar billede jakobdo Ekspert
22. november 2005 - 22:19 #8
Ahh, så du mener noget multiupload?
Det har jeg ikke lige styr på nu, så det må evt blive i morgen, hvis ingen andre melder sig med nogle bud.
Avatar billede dj-hupi Nybegynder
22. november 2005 - 22:20 #9
Ja noget i den stil .. Okey det kan godt vente :)
Avatar billede dj-hupi Nybegynder
23. november 2005 - 19:05 #10
Jakobdo nogen idee ?
Avatar billede jakobdo Ekspert
23. november 2005 - 20:20 #11
Prøv at test denne:

<?php
//http://exp.dk/spm/666612
require_once("./connect.php");
$maxSize = 1024000; //1 mb
$allowPics = array("jpg", "jpeg");

$uploadDir = "/pictures/";
$better_token = md5(uniqid(rand(), true));

if($_FILES['thumb']['size'] > 0 && $_FILES['fullsize']['size'])
{
    $thumbfile = getcwd() . $uploadDir . $_FILES['thumb']['name'];
    $fullfile  = getcwd() . $uploadDir . $_FILES['fullsize']['name'];
   
    if($_FILES['thumb']['size'] > $maxSize && $_FILES['fullsize']['size'] > $maxSize)
    {
        echo "Pics above 1MB not allowed!";
        exit();
    }
 
    $extThumb = strtoupper(end(explode(".",$_FILES['thumb']['name'])));
    $extFull  = strtoupper(end(explode(".",$_FILES['fullsize']['name'])));
 
    if(!in_array($extThumb,$allowPics) && !in_array($extFull,$allowPics))
    {
        echo "Only pictures...";
        exit();
    }

    move_uploaded_file($_FILES['thumb']['tmp_name'],$thumbfile);
    move_uploaded_file($_FILES['fullsize']['tmp_name'],$fullfile);
    $query = mysql_query("INSERT INTO pictures(id,big,small) VALUES('',".basename($fullfile).",'".basename($thumbfile)."')");
}
?>
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    <table>
        <tr><td>Thumb file:</td><td><input name="thumb" type="file" /></td></tr>
        <tr><td>FullSize file:</td><td><input name="fullsize" type="file" /></td></tr>
        <tr><td colspan="2"><input type="submit" value="Send File" name="upload"/></td></tr>
    </table>
</form>
Avatar billede dj-hupi Nybegynder
24. november 2005 - 18:27 #12
<?php
include('inc/mysql.php');
//http://exp.dk/spm/666612
$maxSize = 512000; //1 mb
$allowPics = array("jpg", "jpeg");

$uploadDir = "/upload/";
$better_token = md5(uniqid(rand(), true));

if($_FILES['thumb']['size'] > 0 && $_FILES['fullsize']['size'])
{
    $thumbfile = getcwd() . $uploadDir . $_FILES['thumb']['name'];
    $fullfile  = getcwd() . $uploadDir . $_FILES['fullsize']['name'];
   
    if($_FILES['thumb']['size'] > $maxSize && $_FILES['fullsize']['size'] > $maxSize)
    {
        echo "Pics above 1MB not allowed!";
        exit();
    }
 
    $extThumb = strtoupper(end(explode(".",$_FILES['thumb']['name'])));
    $extFull  = strtoupper(end(explode(".",$_FILES['fullsize']['name'])));
 
    if(!in_array($extThumb,$allowPics) && !in_array($extFull,$allowPics))
    {
        echo "Only pictures...";
        exit();
    }

    move_uploaded_file($_FILES['thumb']['tmp_name'],$thumbfile);
    move_uploaded_file($_FILES['fullsize']['tmp_name'],$fullfile);
    $query = mysql_query("INSERT INTO pictures(id,picture_path,picture_thumb) VALUES('$id','".basename($fullfile)."','".basename($thumbfile)."')");
}
?>
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    <table>
        <tr><td>Thumb file:</td><td><input name="thumb" type="file" /></td></tr>
        <tr><td>FullSize file:</td><td><input name="fullsize" type="file" /></td></tr>
        <?php
                    echo "<select name='id' >";
                                echo '<option value="">Choose specie</option>';
                                $foresp = mysql_query("SELECT genus.id, genus.genus, specie.id, specie.genus_id, specie.species FROM `genus`, `specie` WHERE specie.genus_id = genus.id ORDER by `species`");
                                while($data = mysql_fetch_array($foresp)){
                                   
                                    $speciesid = $data[2];
                                    echo "<option value=" . $speciesid . ">" . $data["genus"] . " " . $data["species"] . "</option>";
                                }
                   
                                echo"</select>";
        ?>
        <tr><td colspan="2"><input type="submit" value="Send File" name="upload"/></td></tr>
    </table>
</form>


Så er den tilrettet
Men for: Only pictures...
Avatar billede dj-hupi Nybegynder
24. november 2005 - 18:39 #13
Gør ikke noget :)
Har fixet det... Et svar ? :D
Avatar billede jakobdo Ekspert
24. november 2005 - 22:22 #14
Svar!
Avatar billede jakobdo Ekspert
25. november 2005 - 12:22 #15
Takker for point!
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

IT-JOB

Capgemini Danmark A/S

AI Data Architect

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-supporter til vores supportteam i Hvidovre

Fælles AI

AI Lead

Capgemini Danmark A/S

Client Partner

AL Sydbank

AI Engineer