[php-gd] imagecreatfromjpeg gaat niet

Pagina: 1
Acties:

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Topicstarter
Ik gebruik het volgende script om plaatjes die ik upload direct te scalen naar thumbnail formaat.

Voor het uploaden gebruik ik jupload zodat ik in 1 keer een hele kwak plaatjes erin kan gooien.

Ik krijg alleen de volgende error voor me kiezen iemand een ID?
code:
1
Warning: imagecreatefromjpeg: Unable to open 'Background01resized.jpg' for reading in /home/wwwadmin/gemini.devour.org/upload/upload.php on line 9

lijn 9 is $inputImg = ImageCreateFromJPEG($image['name']);
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
<?
foreach ($HTTP_POST_FILES as $image){

$allowed_types = array("image/pjpeg","image/jpeg");
           
           if (in_array($image['type'],$allowed_types)) {

    $inputImg = ImageCreateFromJPEG($image['name']);

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

    $dstY = 105; 
    $maxX = 96; 

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

    $outputImg = ImageCreateTrueColor($maxX, $dstY);
    imagefill($outputImg, 0, 0, ImageColorAllocate($outputImg, 255, 255, 255));
    
    echo($ouputImg); //ff testen of er iets gebeurt
}
else {

echo("foute image soort");
}
}
?>

Ja man


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

• bestand staat niet waar jij zegt dat het staat
• rechten
• bestandsnaam incorrect

Doet iets met Cloud (MS/IBM)


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Topicstarter
daar dacht ik dus ook aan,

Ik heb hier verder geen ervaring mee maar kan het niet zijn dat hij een temp file aanmaakt wat ik moet verwerken?

Ik heb geprobeerd om gewoon

$image te pakken , maar das een array weet iemand welk gedeelte van de array ik moet pakken voor de temp naam ?

Ja man


  • [ti]
  • Registratie: Februari 2000
  • Niet online
Hou je er wel rekening mee dat unix filenames case sensitive zijn? Verder gebruikt CreateImageFromJPEG afaik geen temp. dir. maar als dit zo zou zijn dan zou dat /tmp/ zijn. Dus even kijken of je daar rechten hebt. En natuurlijk de .jpg die je wilt omzetten ff naar 755 chmod'den..

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Topicstarter
Inmiddels was ik al wat verder
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
<?
foreach ($HTTP_POST_FILES as $image){

$allowed_types = array("image/pjpeg","image/jpeg");
           
           if (in_array($image['type'],$allowed_types)) {

    $inputImg = ImageCreateFromJPEG($image['tmp_name']);

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

    $dstY = 105; 
    $maxX = 96; 

    $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);
                       
    $thumbnail = ImagePng($outputImg);
    
echo($thumbnail);

}
else {

echo("foute image soort");
}
}
?>

Ik krijg nu geen errors meer en ben nu ff aan het stoeien hoe ik die file weer gekopieerd krijg naar een andere map

Ik krijg deze tekst treug als ik hem echo
code:
1
PNG

hmmmz GOT parsed de waarde niet tis in ieder geval een string van procenten en vierkantjes

ik neem dus aan dat dit een soort van binary bende is

neem aan dat dit met copy gaat ?

ff proberen :)

Ja man


  • [ti]
  • Registratie: Februari 2000
  • Niet online
ImageJPEG($outputImg, "/waar/ie/moet/staan/bla.jpg");

Overigens komt die code daarboven met HEEL erg bekend voor >:) (beetje gemodificeerd maar daar wast ook voor bedoeld:))

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Topicstarter
Weer een stukkie verder maar nu het irritante als ik mn applet sumbit en de files worden geupt lijkt het wel of ie in een loop slaat ofzow

hij gaat wel inserten in de db maar de images gebeurt blijkbaar niets meer mee :(
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
50
51
52
53
54
55
56
57
58
59
60
61
62
<?
require("includes/dbconn.inc");

foreach ($HTTP_POST_FILES as $image){

$allowed_types = array("image/pjpeg","image/jpeg");

$stamp = microtime();
           
           if (in_array($image['type'],$allowed_types)) {

    $thumbImg = ImageCreateFromJPEG($image['tmp_name']);

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

    $dstY = 105; 
    $maxX = 96; 

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

    $thumbOut = ImageCreateTrueColor($maxX, $dstY);
    imagefill($thumbOut, 0, 0, ImageColorAllocate($thumbout, 255, 255, 255));
    
    imagecopyresampled($thumbOut, $thumbImg,
                       (($maxX - $dstX) / 2),0,0,0,
                       $dstX, $dstY,
                       $srcX, $srcY);
                       

$fullImg = ImageCreateFromJPEG($image['tmp_name']);

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

    $dstY = 470; 
    $maxX = 300; 

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

    $fullOut = ImageCreateTrueColor($maxX, $dstY);
    imagefill($fullOut, 0, 0, ImageColorAllocate($fullOut, 255, 255, 255));
    
    imagecopyresampled($fullOut, $fullImg,
                       (($maxX - $dstX) / 2),0,0,0,
                       $dstX, $dstY,
                       $srcX, $srcY);
                       
ImageJPEG($fullOut, "images/events/full/$stamp_full.jpg");
ImageJPEG($thumbOut, "images/events/thumbs/$stamp_thumb.jpg");

mysql_query("INSERT INTO tbl_event_pics (id, thumb_path, full_path) values ('', 'images/events/thumbs/$stamp_thumb.jpg', 'images/events/full/$stamp_full.jpg')");

}
else {

echo("foute image soort");
}
}
?>

Lijkt me op zich niks mis mee toch of mag ik die 2 akties niet achter elkaar knallen :?

Ja man


  • [ti]
  • Registratie: Februari 2000
  • Niet online
ImageJPEG($fullOut, "images/events/full/$stamp_full.jpg");
ImageJPEG($thumbOut, "images/events/thumbs/$stamp_thumb.jpg");
Geef het volledige path eens op, en check of die dir wel schrijfbaar is voor de UID waar de webserver onderdraait (als je twijfelt, chmod die dir ff naar 777, dan kan iedereen er in schrijven.)

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Topicstarter
staat op 777 dat wel maar lijkt wel of ie heel veel load trekt

Ja man


  • [ti]
  • Registratie: Februari 2000
  • Niet online
Tja als ik hier zo'n image resize gaat ie ook ff met z'n load omhoog schieten. Als je 't er gewoon eerst ff met 1tje probeert werkt ut dan wel?

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Topicstarter
jep maar wegschrijven nog niet helemaal ff kutten nog

Ja man


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Topicstarter
Nou nou hij doet er echt lang over zeg zeker 30 sec voor 4 plaatjes is dat niet wat aan de hoge kant?
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?
require("includes/dbconn.inc");

set_time_limit(0);

foreach ($HTTP_POST_FILES as $image){

$allowed_types = array("image/pjpeg","image/jpeg");

$stamp = microtime();
           
           if (in_array($image['type'],$allowed_types)) {

$fullImg = ImageCreateFromJPEG($image['tmp_name']);

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

    $dstY = 470; 
    $maxX = 300; 

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

    $fullOut = ImageCreateTrueColor($maxX, $dstY);
    imagefill($fullOut, 0, 0, ImageColorAllocate($fullOut, 255, 255, 255));
    
    imagecopyresampled($fullOut, $fullImg,
                       (($maxX - $dstX) / 2),0,0,0,
                       $dstX, $dstY,
                       $srcX, $srcY);
                       
//Create full is gebeurt

    $thumbImg = ImageCreateFromJPEG($image['tmp_name']);

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

    $dstY = 105; 
    $maxX = 96; 

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

    $thumbOut = ImageCreateTrueColor($maxX, $dstY);
    imagefill($thumbOut, 0, 0, ImageColorAllocate($thumbOut, 255, 255, 255));
    
    imagecopyresampled($thumbOut, $thumbImg,
                       (($maxX - $dstX) / 2),0,0,0,
                       $dstX, $dstY,
                       $srcX, $srcY);
                       

ImageJPEG($fullOut, "images/events/full/full.$stamp.jpg");
ImageJPEG($thumbOut, "images/events/thumb/thumb.$stamp.jpg");

mysql_query("INSERT INTO tbl_event_pics (id, full_path, thumb_path) values ('', 'images/events/full/full.$stamp.jpg', 'images/events/thumb/thumb.$stamp.jpg')");

}
else {

echo("foute image soort");
}
}
?>

voor de rest is het helemaal toppie :)
?>

Ja man


  • [ti]
  • Registratie: Februari 2000
  • Niet online
Tja wat voor bak draait het op? Misschien heeft je ISP die bak wel zo ingesteld dat je maar max. xx% cpu usage mag hebben oid.

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Topicstarter
nope is een PENIII 700 met 512 mb geheugen voor mezelf :(

Ja man

Pagina: 1