Witam mam sobie skrypcik do przetwarzania obrazow w php korzystajacy z biblioteki GD.
Prosze nie przejmowac sie dlugoscia kodu, nizej sa wyszczegolnione najwazniejsze czesci....

Oto on:
  1. <?php
  2.    
  3.    ob_start();
  4.    $link = mysql_connect("localhost", "root", "") or die("Nie udało sie połączyć". mysql_error());
  5.    mysql_select_db('holidayimage', $link) or die (mysql_error());
  6.    
  7.    //udostepnienie zmiennych
  8.    $image_caption = $_POST['image_caption'];
  9.    $image_username = $_POST['image_username'];
  10.    $destination = $_POST['destination'];
  11.    $image_tempname = $_FILES['image_filename']['name'];
  12.    $today = date("Y-m-d");
  13.    
  14.    //umieszczenie obrazu i sprawdzenie jego formatu
  15.    $ImageDir = "c:/Program Files/WebServ/httpd/OOP/PHP5/HolidayImage/images/";
  16.    $ImageThumb = $ImageDir."thumbs/";
  17.    $ImageName = $ImageDir . $image_tempname;
  18.    
  19.    //Sprawdzanie czy uzytkownik uzupelnil wszystkie pola
  20.    if(empty($_POST['image_caption']) || empty($_POST['image_username'])) {
  21.        echo "Uzupełnij wszyskieg pola formularza<br>";
  22.    }
  23.    
  24.    //Sprawdzenie czy plik został wysłany
  25.    if(!is_uploaded_file($_FILES['image_filename']['tmp_name'])) {
  26.        echo "Musisz wybrac jakis plik do uploadu!";
  27.    }
  28.    
  29.    if(move_uploaded_file($_FILES['image_filename']['tmp_name'], $ImageName)) {
  30.        
  31.        //pobranie informacji na temat umieszczonego obrazu
  32.        list($width, $height, $type, $attr) = getimagesize($ImageName);
  33.        
  34.        if($type > 3) { //w tablicy formatow 3 piersze miejsca zajmuja GIF, JPG i PNG, stad zawartosc warunku if
  35.            echo "Przykro nam, ale przesyłany obraz nie jest w odpowiednim formacie.</br> ";
  36.            echo "Kliknij przycisk wstecz w swojej przegladarce internetowej";
  37.        } else {
  38.            //obraz jest w poprawnym formacie mozna kontynuowac
  39.        
  40.        //wstawienie informacji do tabeli images
  41.        
  42.        $insert = "INSERT INTO images
  43.                    (image_caption, image_username, image_date)
  44.                    VALUES
  45.                    ('$image_caption', '$image_username', '$today')";
  46.                    
  47.        $insertresults = mysql_query($insert) or die(mysql_error());
  48.        
  49.        $lastpicid = mysql_insert_id();
  50.        
  51.        $newfilename = $ImageDir . $lastpicid . ".jpg";
  52.        
  53.        if($type == 2) {
  54.            rename($ImageName, $newfilename);
  55.        } else {
  56.        if ($type == 1) {
  57.            $image_old = imagecreatefromgif($ImageName);
  58.        } elseif ($type == 3) {
  59.            $image_old = imagecreatefrompng($ImgeName);
  60.        }
  61.        
  62.            //skonwertuj obraz na format JPG
  63.            $image_jpg = imagecreatetruecolor($width, $height);
  64.            imagecopyresampled($image_jpg, $image_old, 0,0,0,0, $width, $height, $width, $height);
  65.            imagejpeg($image_ipg, $newfilename);
  66.            imagedestroy($image_old);
  67.            imagedestroy($image_jpg);
  68.        }
  69.        
  70.        
  71.        
  72.        $newthumbname = $ImageThumb.$lastpicid.".jpg";
  73.        
  74.        //pobierz wymiary miniaturki
  75.        $thumb_width = $width*0.10;
  76.        $thumb_height = $height*0.10;
  77.        
  78.        //utwórz miniaturke
  79.        $largeimage = imagecreatefromjpeg($newfilename);
  80.        $thumb = imagecreatetruecolor($thumb_width, $thumb_height);
  81.        imagecopyresampled($thumb, $largeimage, 0,0,0,0, $thumb_width, $thumb_height, $width, $height);
  82.        
  83.        imagejpeg($thumb, $newthumbname);
  84.        imagedestroy($largeimage);
  85.        imagedestroy($thumb);
  86.        
  87.        $dstfilename = $ImageDir.$destination.".jpg";
  88.        list($width2, $height2, $type2, $attr2) = getimagesize($dstfilename);
  89.        $image2 = imagecreatefromjpeg($dstfilename);
  90.        
  91.        imagecopymerge($image2, $newfilename, 0,0,0,0, $width, $height, 100);
  92.        
  93.        //$url = "location: showimage.php?id=" . $lastpicid;
  94.        //header($url);
  95.        header("Content-type:image/jpeg");
  96.        imagejpeg($image2);
  97.        }
  98.    }
  99.    ob_end_flush();
  100. ?>


Prosze zwrocic uwage na te linijki :
  1. <?php
  2. //pobieram zmienna ktora decyduje ktory obrazek wybrac
  3. $destination = $_POST['destination'];
  4. //ustalam scieze dostepu do obrazkow
  5. $ImageDir = "c:/Program Files/WebServ/httpd/OOP/PHP5/HolidayImage/images/";
  6. //przetwarzam obrazek
  7. $dstfilename = $ImageDir.$destination.".jpg";
  8. list($width2, $height2, $type2, $attr2) = getimagesize($dstfilename);
  9. $image2 = imagecreatefromjpeg($dstfilename);
  10. imagecopymerge($image2, $newfilename, 0,0,0,0, $width, $height, 100);
  11. //proba wyswietlenia
  12. header("Content-type:image/jpeg");
  13. imagejpeg($image2);
  14. ?>


No i niestety, gdy probuje wyswietlic obrazek pokazuje mi sie sciezka do pliku php ktory sluzy do przetwarzania a nie obrazek ktory chce wyswietlic choc sciezka $ImageDir jest jednoznacznie okreslona....

a dostaje sciezke do skryptu ktory przetwarza obraz zamiast do obrazka:
http://localhost:81/OOP/PHP5/HolidayImage/check_image.php

co moze byc nie tak ?