Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Include(grafika.php)
timon27
post
Post #1





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


Mam problem dotyczący includowania.
Posiadam skrypt grafiki zmniejszającą ją i zapisującą do oddzielnego folderu.
Skrypt znajduje się w pliku tworz_min.php.
Jednocześnie chciałbym go wywołać w pliku min.php zawierającym też html, jednak jest to niewykonalne za pomocą metody include.

Gdy uruchamiam min.php po raz pierwszy php zawiera nagłówek grafiki, więc nic nie wyświetla tylko zapisuje grafikę (działa), gdy odświeżę już mam grafikę. Przy czym oczywiście miało działać za pierwszym razem.
Czy jest wyjście z tej sytuacji?


min.php:
Kod
<?
if(!file_exists("miniatury/obrazek.jpg")){
    $szer=100;
    $filename="obrazek.jpg";
    include("tworz_min.php");
}
echo("<img src='miniatury/obrazek.jpg' width=100>");
?>


tworz_min.php
Kod
<?
header('Content-type: image/jpeg');
list($width, $height) = getimagesize($filename);
$new_width = $szer;
$new_height = floor($height*$szer/$width);
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, "miniatury/$filename", 90);
?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


@bim2
Nie nie mogę. Działa tylko pierwsze polecenie, drugie już nie jest uruchamiane

@Kshyhoo
"Wtedy otrzymasz od razu wyświetlenie obrazka po jego wytworzeniu."
nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Twój kod nie uwzględnia najważniejszego if.
Kod min.php nie ma być uruchamiany zawsze. O to mi chodzi, aby uruchamiał się tylko w przypadku gdy miniatura nie istnieje. Miniaturyzacja kosztuje dużo czasu i nie mogę pozwolić by zawsze była uruchamiana. jednocześnie nie chcę tworzyć sam miniatur, ponieważ jest to dodatkowy element, o którym musi pamiętać osoba wrzucająca obrazki, a nie zawsze jestem to ja.
"Czyli pyta, w jaki sposób wyświetlić grafikę, zaraz po jej wygenerowaniu. "
Nie. Po prostu zapisuje plik. za drugim razem działa, bo jest uruchamiany w/w if.

EDIT:
Dzięki Ci bim2, jednak zadziałało. Takie proste, wystarczyło na to "wpaść".

Poprawiany kod:

min.php:
Kod
<?
if(!file_exists("miniatury/obrazek.jpg")){
   echo("<img src='tworz_min.php?szer=100&filename=obrazek.jpg'>");
}else{
   echo("<img src='miniatury/obrazek.jpg' width=100>");
}
?>


tworz_min.php

Kod
<?
header('Content-type: image/jpeg');
list($width, $height) = getimagesize($filename);
$new_width = $szer;
$new_height = floor($height*$szer/$width);
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
$filename="miniatury/".$filename;
imagejpeg($image_p, $filename, 90);
imagejpeg($image_p, null, 90);

?>


Ten post edytował timon27 16.07.2009, 09:17:38
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: 13.10.2025 - 01:33