Versio

Foto album

Overzicht Reageren

Milo

Milo

06/12/2009 13:32:00
Quote Anchor link
Hey,

Uit een script hier op phphulp heb ik een stukje gehaald dat afbeeldingen verkleint, alleen is het punt hij verkleint dus die afbeelding en overschrijft dus de huidige... nu wil ik dat hij hem opslaat in een map genaamd thumbs.
die mapnaam staat in een var, dus ik heb niet per ongeluk een var gemaakt :P
dit is de code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$thumb
= 'Thumbnails';

@
mkdir($dir.'/'.$thumb, 0777);

$imagehw = getimagesize($dir.'/'.$file);
$src_width = $imagehw[0];  
$src_height = $imagehw[1];
                                    
$src_width > $src_height ? $dest_width = 75 : $dest_width = 50;
                            
$tmp = $src_width / $dest_width;
$dest_height = $src_height / $tmp;
                                
$src_img = imagecreatefromjpeg($dir.'/'.$file);
$dst_img = imagecreatetruecolor($dest_width,$dest_height);
                            
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,    $dest_height, $src_width, $src_height);
imagejpeg($dst_img, $dir.'/'.$thumbs.'/'.$file, 75);
imagedestroy($src_img);
imagedestroy($dst_img);
?>


Weet iemand hoe ik voor elkaar krijg dat hij het dus in die map doet?

Gr, Milo
Gewijzigd op 01/01/1970 01:00:00 door Milo
 
PHP hulp

PHP hulp

24/05/2012 17:17:17
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Daniel H

Daniel H

06/12/2009 14:20:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$src_img = imagecreatefromjpeg($dir.'/'.$file);


veranderen in:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$src_img = imagecreatefromjpeg($dir'/'.$thumbs.'/'.$file);
 
Milo

Milo

06/12/2009 14:28:00
Quote Anchor link
Hmm,

Als ik dat doe dan moet de file wel al in de directory staan, en dat staat hij niet ik wil dat hij daar inkomt...

Dan moet ik dus 1 van de 2 dingen doen:
Eerst de file in de directory gooien
of
Eerst iets verkleinen en die vervolgens in de directory opslaan...

Wat zou de beste keuze zijn...

Als er een simpele functie is als copyimage en dat je dan een dir opgeeft en hem daar heen kopieert dan zou de 1e het simpelst zijn...

Ik ga even kijken op php.net als jullie ideën hebben of een andere oplossing hebben graag!

Gr,


EDIT:
Hij werkt inmiddels :D, wat nu de fout was geen idee! ik heb gewoon het hele script gekopieerd en omgebouwd en nu doet hij het wel...

Preview:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
// De map waar je inzit
if(!isset($_GET['dir']))
{

    $album = 'ALBUMS';
}

else
{
    $album = $_GET['dir'];
}

$directory = './'.$album;    

// Toegestane extensies
$ext = array('jpg', 'jpeg', 'bmp', 'gif', 'png', 'JPG', 'JPEG', 'BMP', 'GIF', 'PNG');

// Map voor thumbnails
$thumb = 'thumbs';
    // Afmetingen voor thumbs
    $width = 80;
    $height = 55;

if(is_dir($directory))
{
  
    if($dir = @opendir($directory))
    {

        while(FALSE !==($file = readdir($dir)))
        {

            if($file != '.' && $file != '..' && $file != $thumb)
            {

                $arrayfile[] = $file;
                
                if(in_array(substr($file, -3), $ext) OR in_array(substr($file, -4), $ext))
                {
                    @
mkdir($directory.'/'.$thumb, 0777);  
                        
                    $imagehw = GetImageSize($directory.'/'.$file);
                    $src_width = $imagehw[0];  
                    $src_height = $imagehw[1];
                            
                    $src_width > $src_height ? $dest_width = $width : $dest_width = $height;
                    
                    $tmp = $src_width / $dest_width;
                    $dest_height = $src_height / $tmp;
                        
                    $src_img = imagecreatefromjpeg($directory.'/'.$file);
                    $dst_img = imagecreatetruecolor($dest_width,$dest_height);
                    
                    imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,    $dest_height, $src_width, $src_height);
                    imagejpeg($dst_img, $directory.'/'.$thumb.'/'.$file, $width);
                    imagedestroy($src_img);
                    imagedestroy($dst_img);
                }
            }
        }

    closedir($dir);
    }


    // De array netjes sorteren
    sort($arrayfile);
    
    // Dan de array openen
    foreach($arrayfile as $file)
    {

        // Kijken of het een toegestaan bestand is.
        if(in_array(substr($file, -3), $ext) OR in_array(substr($file, -4), $ext))
        {

            echo '<img src="'.$directory.'/'.$thumb.'/'.$file.'">';
        }

        elseif(is_dir($directory.'/'.$file)) // Als het een map is
        {
            echo $file;
        }            
    }
}

else
{
    echo 'De directory die jij zoekt ( '.$album.' ) bestaat niet';
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Milo
 



Overzicht Reageren