Toon posts:

[PHP] JPG uploaden maar eerst resizen

Pagina: 1
Acties:
  • 116 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig met een scriptje om een JPGtje die geupload word eerst te resizen en dan pas op te slaan.
Onafhankelijk werken de scripts van elkaar, ik kan een jpg resizen en ik kan een file uploaden, alleen in combinatie niet. In mijn form is gewoon een file field met de naam file1.
Het vreemde is dus dat de scripts appart van elkaar wel werken, maar niet in combinatie. Ik zie zo onderhand niet meer wat ik fout doe :-/

Iemand ?

Ik krijg de volgende foutmelding:
Warning: Unable to open 'Resource id #2' for reading: No such file or directory in c:\inetpub\wwwroot\foto_toevoegen.php on line 44

Line 44 = if(copy($source,$dest)){

Dit is de code:
PHP:
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
<?
if($action1 == 1){
    
    // IMAGE RESIZEN
    if ($HTTP_POST_FILES['file1']['type'] != "image/pjpeg") 
    die($HTTP_POST_FILES['file1']['type'] . " is not a supported file type"); 

    $inputImg = ImageCreateFromJPEG($file1); 

    $srcX = imagesx($inputImg); 
    $srcY = imagesy($inputImg); 

    $dstY = 172; // fixed Y for the image. always the same 
    $maxX = 196; // max X for image, if image is smaller it will be centered 

    $ratio = ($srcY / $dstY); 
    $dstX = ($srcX / $ratio); 

    $outputImg = ImageCreateTrueColor($maxX, $dstY); 
    imagefill($outputImg, 0, 0, ImageColorAllocate($outputImg, 255, 255,255)); 

    imagecopyresampled($outputImg, $inputImg, (($maxX - $dstX) / 2),0,0,0, $dstX, $dstY, $srcX, $srcY); 
    
    // IMAGE UPLOADEN
    set_time_limit(180); 

    $path1 = dirname($PATH_TRANSLATED)."/upload/foto/"; 

    $source = $outputImg; 
    $source_name = $file1_name; 

    if(($source <> "none")&amp;&amp;($source <> "")){ 
        if($error1 <> 1){ 
            $dest = $path1.$source_name; 
            if(copy($source,$dest)){ 
                $imagesize = getimagesize($dest); 
                if( $imagesize[2] == 0 )
                    {
                        echo "Onbekend afbeeldings formaat";
                        unlink($dest);
                        exit();
                    }
                elseif ( $imagesize[2] == 1 || $imagesize[2] == 2) {
                }
            }    
         } 
    }
    
?>

  • KlaasB
  • Registratie: Juli 2000
  • Laatst online: 01-07-2024
Ik doe dat met mogrify (onder linux, zit in de ImageMagick rpm)

versimpelde weergave :
code:
1
2
3
4
5
//dus eerst mogrify
exec("./mogrify -geometry $Scale $userfile");

//dan definietif in een directory zetten
move_uploaded_file ("$userfile", "$naam.$ext");

It's not a bug, it's a feature


Verwijderd

Topicstarter
Hm ja maar php draait hier onder NT, komt later wel onder linux te draaien maar tot die tijd onder NT.
Het zou moeten kunnen lijkt mij...