PHP Error bij uploaden bmp ext.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick Vaarkamp

Patrick Vaarkamp

01/03/2008 23:51:00
Quote Anchor link
Hallo

Ik heb last van een "vreemde" php error. Een uploadscript dat ik heb geeft een error als ik .bmp bestanden probeer te uploaden terwijl ik in het script heb aangegeven dat deze wel is toegestaan.

Dit is de error die ik krijg:
Fatal error: Call to undefined function imagecreatefrombmp() in /home/patjuhsp/public_html/upload/index.php on line 37

En 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
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php

echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" enctype=\"multipart/form-data\" name=\"form\" id=\"form\">";
echo "<center>Foto Uploaden:  <input name=\"bestand\" type=\"file\" size=\"30\" id=\"bestand\"><br>";
echo "<input name=\"uploaden\" type=\"submit\" id=\"uploaden\" value=\"Upload\">";

// Mappen CHMOD 777 !

if(isset($_POST['uploaden'])){

    $dir = "";  // map voor images
    $thumb_dir = "thumbs/"; // map voor thumbs
    $maxsize = 1000000; // maximum groote images
    $max_y = 100; // maximum hoogte thumbs
    $max_x = 80; // maximum breedte thumbs
    $pathinfo = pathinfo($_FILES['bestand']['name']);
    $ext =  $pathinfo["extension"];

    switch($ext){

    case
"jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);

    break;
    
    case
"JPG" : $thumb = imagecreatefromJPEG($_FILES['bestand']['tmp_name']);

    break;
    
    case
"jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);

    break;
    
    case
"gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);

    break;
    
    case
"bmp" : $thumb = imagecreatefrombmp($_FILES['bestand']['tmp_name']);

    break;

    case
"png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);

    break;


    default :
$wrongext = 1;
    
    }


    if(isset($wrongext)){

        $error = "Verkeerde Extensie<br>";

    }
else{

        if($_FILES['bestand']['size'] > $maxsize){
        
        $error = "Bestand is te groot";

        }
else{

        $succes = true;

        }

    }


    if(!isset($succes) || isset($error)){

        echo "<br><br>Er is een fout opgetreden: $error";
    

    }
else{


        move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$_FILES['bestand']['name']) or die("Kan niet uploaden");

        $x = imagesx($thumb);
        $y = imagesy($thumb);
        if(($max_x/$max_y) < ($x/$y)){

        
                $eind = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x)) or die("Fout: imagecreattreucolor() 1");

            
            }
else{


                $eind = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y)) or die("Fout: imagecreattreucolor() 2");

            
            }

        

        imagecopyresized($eind, $thumb, 0, 0, 0, 0, imagesx($eind), imagesy($eind), $x, $y) or die("Fout: imagecopyresized()");

        

        imagegif($eind, $thumb_dir.$_FILES['bestand']['name']) or die("Fout: imagegif()");

        

        imagedestroy($thumb);

        

        imagedestroy($eind);

        

        echo "<br><br>De foto is ge&uuml;pload";
    }
}


?>


Zoals je ziet heb ik op lijn 37 bmp toegevoegd.
 
PHP hulp

PHP hulp

22/12/2024 16:54:28
 
- -

- -

02/03/2008 00:12:00
Quote Anchor link
Je kunt prima die bestanden uploaden, maar PHP gaat ze vervolgens proberen te verwerken. Hiervoor pakt hij de GD-functies van PHP. Kennelijk kan (jouw installatie van) GD geen bitmapbestanden verwerken.
 
Patrick Vaarkamp

Patrick Vaarkamp

02/03/2008 00:16:00
Quote Anchor link
Ok, maar mijn vorige uploader kon zonder problemen bmp bestanden uploaden. Ik ben alleen overgegaan op dit script omdat ik een script wou dat ook een thumb aanmaakte.

Is er toevallig een ander script die ook een thumb aanmaakt en bmp ondersteund?
Gewijzigd op 01/01/1970 01:00:00 door Patrick Vaarkamp
 
Bart van der veen

bart van der veen

02/03/2008 00:22:00
Quote Anchor link
php.net zegt => imagecreatefromwbmp (zie de extra W) geen idee of het uitmaakt.
 
Patrick Vaarkamp

Patrick Vaarkamp

02/03/2008 00:25:00
Quote Anchor link
Die functie heb ik al geprobeert, Helpt helaas niet.
 

02/03/2008 01:03:00
Quote Anchor link
Kijk effe of je wel gd hebt, als je dat niet hebt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var_dump(gd_info());
?>

of een simpel plaatje:
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
<?php

// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'Testing... &#8226; of &bull;';
// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
 
MennoDikjo

MennoDikjo

02/03/2008 01:08:00
Quote Anchor link
Als ik op php.net zoek op de functie imagecreatefrombmp krijg ik deze webpagina te zien. Die functie bestaat dus helemaal niet :)
 
Patrick Vaarkamp

Patrick Vaarkamp

02/03/2008 01:48:00
Quote Anchor link
Klopt daar was ik ook achter ;)

Dit is de gd info die ik krijg:

array(12) { ["GD Version"]=> string(27) "bundled (2.0.34 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(false) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XPM Support"]=> bool(true) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }
 
Lode

Lode

02/03/2008 02:09:00
Quote Anchor link
er zijn geen native bmp functies binnen GD...
xbmp wel, maar dat is heel wat anders!

.bmp is windows only en antiek qua formaat en de groote van de bestanden.
Zijn wel oplossingen voor gemaakt en bedacht... google-je-rot...
Maar persoonlijk accepteer ik ze niet eens meer...
 
Jelmer -

Jelmer -

02/03/2008 10:30:00
Quote Anchor link
imagecreatefrombmp. Voordeel is dat BMP zo 'dom' is dat het gewoon simpelweg de kleur per pixel opslaat. Daarom is het bestand ook zo groot.

BMP wordt helaas nog vrij veel gebruikt door mensen die hun foto in Paint bewerken, en vervolgens maar gewoon op opslaan als drukken. Die kiest volgens mij vanzelf voor BMP (vanaf XP heb je pas JPG in het lijstje?) en vervolgens sturen ze dat bestand als foto in. Voor een userbase die niet al te veel van computers af weet is het dan wel prettig als ze gewoon BMP kunnen insturen.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.