Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie obrazków nie działa, generowanie przez kopiowanie obrazka blabla.php?id=08
mikolodz
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.09.2010

Ostrzeżenie: (0%)
-----


Witam,
widzę, że problem, który opisałem wczoraj w dziale MySQL nie jest taki prosty jak się spodziewałem
Nie działało mi wyświetlanie obrazków przechowywanych w BLOBIE.
Niestety po zmianie sposobu zapisu na zapisywanie na serwerze, które notabene działa bardzo ładnie, ze zmianą rozmiaru formatu itp., nadal mam problem z wyświetlaniem obrazków.

taki skrypt u mnie nie działa, mimo, że generowanie i zapisanie na serwerze sie spisuje:
(zawartosc pliku generuj.php)
Kod
<?
        header("Content-type: image/gif");
        $obrazek = ImageCreate(80,40);
        ImageGif($obrazek);
        ImageDestroy($obrazek);    

?>

po otworzeniu tego pliku uzyskuje informacje:

Cytat
Obrazek "http://mojserwer/generuj.php" nie może zostać wyświetlony, ponieważ zawiera błędy.


To samo dzieje się kiedy robię:

showavatar.php?id=mysikun

Kod
<?
    include ('funkcje_glowne.php');
    $db = polaczZBaza();
    $id = $_GET['id'];
    $zapytanie = "select avatar from `avatars` where id='$id'";
    $wynik = $db -> query($zapytanie);
    if(($wynik -> num_rows) != 0){
        $wiersz = $wynik -> fetch_assoc();
        $nazwa = $wiersz['avatar'];
           $sciezka = "upload/".$nazwa;
           $img = imagecreatefromjpeg($sciezka);
           header("Content-type: image/jpeg");
           imagejpeg($img);
}    
    $db -> close();
?>


uzyskuję także ten sam komunikat.
chciałem wcześniej wyświetlać te obrazki w innym pliku "pokazavatar.php" poprzez:
<img scr="showavatar.php?id='.$id.'"/>";
ale oczywiście nie może to działać.

Proszę wskażcie mi mój błąd, bo straciłem na to zagadnienie blisko dobę i na prawdę nie mogę znaleźć błędu.
Czemu przy wyświetlaniu wygenerowanych obrazków wyskakuje mi błąd? Generowanie i zapis przebiegają poprawnie

np ten kod działa:

Kod
<?
     $db = polaczZBaza();
    // wczeczniej SĄ PODANE zmienne nazwa itp
    $sciezka = "upload/".$nazwa;
    
    if($sp[1] == "jpeg"){   // Sprawdzamy jakie rozszerzenie miał plik i wykonujemy dla niego nowy obrazek;
    $img = imagecreatefromjpeg($sciezka);
    }
    elseif($sp[1] == "png") {
    $img = imagecreatefrompng($sciezka);
    }
    elseif($sp[1] == "jpg") {
    $img = imagecreatefromjpeg($sciezka);
    }
    elseif($sp[1] == "gif") {
    $img = imagecreatefromgif($sciezka);
    }
    
    $a = imagesx($img);   // pobieramy szerokość i wysokość
    $b = imagesy($img);
    
    if($a > $b){   //Zmieniamy wielkość obrazka w tym wypadku szerokość musi być 150 a wysokość proporcjonalna.
    $na = 150;
    $nb = 150 * ($b / $a);
    }elseif($a < $b){
    $na = 150 * ($a / $b);
    $nb = 150;
    }else{
    $na = 150;
    $nb = 150;
    }
    
    $new_img = imagecreatetruecolor($na, $nb); // tworzymy nowy obrazek o danych wymiarach
    $cz = ImageColorAllocate($new_img,8 ,24 ,40); // tworzenie koloru. atrybuty to kolejno nowy obrazek i 3 kolory RGB - Red Green Blue

    ImageFill($new_img,1,1,$cz);  // tworzenie tła obrazka
    imagecopyresampled($new_img, $img, 0, 0, 0, 0, $na, $nb, $a, $b);

     $s = explode(".",$nazwa);
    
    
    unlink('upload/'.$nazwa); // usuwamy poprzedni plik avataru użytkownika
    @imagejpeg($new_img, "upload/".$s[0].".jpg", 100); // cyfra 9 oznacza jakosc miniaturki, osobiscie polecam wartosc 100
    $sciezka_do_pliku2 = "upload/".$s[0].".jpg";
    
    $db -> query("UPLOAD avatars SET avatar='$sciezka_do_pliku2' where id='$id'");
    $db -> close();

    }
}
?>


Po zapisie na serwerze plik ma wszystkie zadane parametry i się normalnie otwiera.
Proszę o pomoc..
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 06:55